Hall A ROOT/C++ Analyzer (podd)
Loading...
Searching...
No Matches
THaHelicityDet.h
Go to the documentation of this file.
1#ifndef Podd_THaHelicityDet_h_
2#define Podd_THaHelicityDet_h_
3
5//
6// THaHelicityDet
7//
8// Abstract base class for a beam helicity "detector".
9// Typically, this type of detector will be part of a beam apparatus.
10//
11// authors: V. Sulkosky and R. Feuerbach, Jan 2006
12// Changed to an abstract base class. Ole Hansen, Aug 2006.
13//
15
16#include "THaDetector.h"
17
19public:
20 enum EHelicity { kMinus = -1, kUnknown, kPlus };
21
22 virtual ~THaHelicityDet();
23
24 virtual void Clear( Option_t* opt="" )
26 virtual EHelicity GetHelicity() const { return fHelicity; }
27 virtual Bool_t HelicityValid() const { return (fHelicity != kUnknown); }
28
29 virtual const char* GetDBFileName() const;
30 virtual void MakePrefix();
31
32 THaHelicityDet() : fHelicity(kUnknown), fSign(1) {} // For ROOT I/O only
33
34protected:
35
36 //Only derived classes may construct me
37 THaHelicityDet( const char* name, const char* description,
38 THaApparatus* a = nullptr );
39
40 EHelicity fHelicity; // Beam helicity. fHelicity = fSign * decoded_helicity
41 Int_t fSign; // Overall sign of beam helicity. Default 1.
42
43 virtual Int_t DefineVariables( EMode mode = kDefine );
44 virtual Int_t ReadDatabase( const TDatime& date );
45
46 ClassDef(THaHelicityDet,1) // ABC for a beam helicity detector
47};
48
49#endif
int Int_t
bool Bool_t
const char Option_t
#define ClassDef(name, id)
virtual void Clear(Option_t *opt="")
virtual void MakePrefix()
virtual Int_t ReadDatabase(const TDatime &date)
virtual const char * GetDBFileName() const
virtual EHelicity GetHelicity() const
EHelicity fHelicity
virtual Bool_t HelicityValid() const
virtual Int_t DefineVariables(EMode mode=kDefine)
virtual ~THaHelicityDet()
void Clear(Option_t *option="") override