JANA2
C++ framework for multi-threaded data processing
JWindow< T > Struct Template Referenceabstract

JWindow is an abstract data structure for aggregating individual JMessages into a single JEvent. More...

#include <JWindow.h>

Inheritance diagram for JWindow< T >:
[legend]

Public Member Functions

virtual void pushMessage (T *message)=0
 
virtual bool pullEvent (JEvent &event)=0
 

Detailed Description

template<typename T>
struct JWindow< T >

JWindow is an abstract data structure for aggregating individual JMessages into a single JEvent.

We generally assume that messages from any particular source arrive in-order, and make no assumptions about ordering between different sources. We provide different implementations to fit different use cases so that the user should rarely need to implement one of these by themselves. The choice of JWindow determines how the time interval associated with each JEvent is calculated, and furthermore is responsible for placing the correct JMessages into the JEvent. As long as the time intervals do not overlap, this amounts to simple transferring of ownership of a raw pointer. When JEvents intervals do overlap, which happens in the case of JSlidingWindow and JMergeWindow, we have to decide whether to use shared ownership or to clone the offending data.


The documentation for this struct was generated from the following file: