Hall A ROOT/C++ Analyzer (podd)
Loading...
Searching...
No Matches
InterStageModule.h
Go to the documentation of this file.
1#ifndef Podd_InterStageModule_h_
2#define Podd_InterStageModule_h_
3
5//
6// InterStageModule
7//
8// Similar to a THaPhysicsModule, but with processing after a given
9// analysis stage (Decode, CoarseReconstruct, etc.)
10//
12
13#include "THaAnalysisObject.h"
14
15namespace Podd {
16
18
19public:
20 virtual ~InterStageModule();
21
22 virtual void Clear( Option_t* opt="" );
23 virtual Int_t Process( const THaEvData& ) = 0;
24
25 bool DataValid() const { return fDataValid; }
26 Int_t GetStage() const { return fStage; }
27
28protected:
29 Int_t fStage; // Stage(s) after which to run (bit field)
30 bool fDataValid; // Data valid
31
32 InterStageModule( const char* name, const char* description, Int_t stage );
33
34 void PrintInitError( const char* here );
35 virtual Int_t DefineVariables( EMode mode = kDefine );
36
37 ClassDef(InterStageModule,1) //ABC for an inter-stage processing module
38};
39
40} // namespace Podd
41
42#endif
int Int_t
const char Option_t
#define ClassDef(name, id)
static const char *const here
Definition THaVar.cxx:64
virtual void Clear(Option_t *opt="")
virtual Int_t Process(const THaEvData &)=0
virtual Int_t DefineVariables(EMode mode=kDefine)
void PrintInitError(const char *here)