Hall A ROOT/C++ Analyzer (podd)
Loading...
Searching...
No Matches
THaPhysicsModule.h
Go to the documentation of this file.
1#ifndef Podd_THaPhysicsModule_h_
2#define Podd_THaPhysicsModule_h_
3
5//
6// THaPhysicsModule
7//
9
10#include "THaAnalysisObject.h"
11
13
14public:
15 virtual ~THaPhysicsModule() = default;
16
17 virtual void Clear( Option_t* opt="" ) {
19 fDataValid = false;
20 }
21
22 bool IsSingleTrack() const { return !IsMultiTrack(); }
23 bool IsMultiTrack() const { return fMultiTrk; }
24 bool DataValid() const { return fDataValid; }
25
26 virtual Int_t Process( const THaEvData& ) = 0;
27
28 // Special return codes for Process()
29 enum ESpecialRetval { kFatal = -16768,
30 kTerminate = -16767 };
31protected:
32//TODO: DefineVariables fDataValid etc.
33 THaPhysicsModule( const char* name, const char* description );
34
35 void PrintInitError( const char* here );
36
37 bool fMultiTrk; // Flag for multi-track mode
38 bool fDataValid; // Data valid
39
40 ClassDef(THaPhysicsModule,1) //ABC for a physics/kinematics module
41};
42
43#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 *="")
bool IsMultiTrack() const
bool DataValid() const
bool IsSingleTrack() const
virtual ~THaPhysicsModule()=default
virtual Int_t Process(const THaEvData &)=0
void PrintInitError(const char *here)
virtual void Clear(Option_t *opt="")