ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtFilter.h
Go to the documentation of this file.
1 #ifndef ATFILTER_H
2 #define ATFILTER_H
3 
4 class TClonesArray;
5 class AtRawEvent;
6 class AtPad;
7 struct AtPadReference;
8 
13 class AtFilter {
14 
15 public:
16  virtual ~AtFilter() = default;
17 
21  virtual void Init() = 0;
22 
30  virtual AtRawEvent *ConstructOutputEvent(TClonesArray *outputEventArray, AtRawEvent *inputEvent);
31 
35  virtual void InitEvent(AtRawEvent *inputEvent) = 0;
36 
45  virtual void Filter(AtPad *pad, AtPadReference *padReference = nullptr) = 0;
46 
48  virtual bool IsGoodEvent() = 0;
49 };
50 
51 #endif //#ifndef ATFILTER_H
AtRawEvent
Definition: AtRawEvent.h:34
AtFilter
Definition: AtFilter.h:13
AtFilter::InitEvent
virtual void InitEvent(AtRawEvent *inputEvent)=0
Called once for each event at the start of the Exec phase.
AtFilter::IsGoodEvent
virtual bool IsGoodEvent()=0
Called at the end of an event. Returns if filtering was successful.
AtPad
Container class for AtPadBase objects.
Definition: AtPad.h:38
AtFilter::~AtFilter
virtual ~AtFilter()=default
AtFilter::ConstructOutputEvent
virtual AtRawEvent * ConstructOutputEvent(TClonesArray *outputEventArray, AtRawEvent *inputEvent)
Construct output event from input event array.
Definition: AtFilter.cxx:7
AtFilter::Init
virtual void Init()=0
Called at the init stage of the AtFilterTask.
AtPadReference
Definition: AtPadReference.h:20
AtFilter::Filter
virtual void Filter(AtPad *pad, AtPadReference *padReference=nullptr)=0
Called to filter each pad.