Line data Source code
1 : #ifndef ALIVAD_H
2 : #define ALIVAD_H
3 :
4 : //-------------------------------------------------------------------------
5 : // Base class for ESD and AOD AD data
6 : // Author: Michal Broz
7 : // Michal.Broz@cern.ch
8 : //-------------------------------------------------------------------------
9 :
10 : #include "TObject.h"
11 : #include "TMath.h"
12 :
13 : class AliVAD : public TObject
14 : {
15 : public:
16 94 : AliVAD() { }
17 : AliVAD(const AliVAD& source);
18 : AliVAD &operator=(const AliVAD& source);
19 :
20 74 : virtual ~AliVAD() { }
21 :
22 : enum {
23 : kCorrectedLeadingTime = BIT(14),
24 : kTriggerBitsFilled = BIT(15),
25 : kDecisionFilled = BIT(16),
26 : kOnlineBitsFilled = BIT(17),
27 : kCorrectedForSaturation = BIT(18),
28 : kRobustMeanTime = BIT(19),
29 : kTriggerChargeBitsFilled = BIT(20),
30 : kPastFutureFlagsFilled = BIT(21)
31 : };
32 : enum Decision { kADInvalid = -1, kADEmpty = 0, kADBB, kADBG, kADFake };
33 : enum TriggerBits {
34 : kBBAandBBC = 0,
35 : kBBAorBBC = 1,
36 : kBGAandBBC = 2,
37 : kBGA = 3,
38 : kBGCandBBA = 4,
39 : kBGC = 5,
40 : kCTA1andCTC1 = 6,
41 : kCTA1orCTC1 = 7,
42 : kCTA2andCTC2 = 8,
43 : kCTA2orCTC2 = 9,
44 : kMTAandMTC = 10,
45 : kMTAorMTC = 11,
46 : kBBA = 12,
47 : kBBC = 13,
48 : kBGAorBGC = 14,
49 : kBGAandBBCorBGCandBBA = 15
50 : };
51 :
52 : virtual Short_t GetNbPMADA() const = 0;
53 : virtual Short_t GetNbPMADC() const = 0;
54 : virtual Float_t GetMTotADA() const = 0;
55 : virtual Float_t GetMTotADC() const = 0;
56 :
57 : virtual Float_t GetMultiplicity(Int_t i) const = 0;
58 : virtual Float_t GetMultiplicityADA(Int_t i) const = 0;
59 : virtual Float_t GetMultiplicityADC(Int_t i) const = 0;
60 :
61 : virtual Bool_t BBTriggerADA(Int_t i) const = 0;
62 : virtual Bool_t BGTriggerADA(Int_t i) const = 0;
63 : virtual Bool_t BBTriggerADC(Int_t i) const = 0;
64 : virtual Bool_t BGTriggerADC(Int_t i) const = 0;
65 : virtual Bool_t GetBBFlag(Int_t i) const = 0;
66 : virtual Bool_t GetBGFlag(Int_t i) const = 0;
67 :
68 : virtual Float_t GetADATime() const = 0;
69 : virtual Float_t GetADCTime() const = 0;
70 :
71 : virtual Decision GetADADecision() const = 0;
72 : virtual Decision GetADCDecision() const = 0;
73 :
74 : virtual UShort_t GetTriggerChargeA() const = 0;
75 : virtual UShort_t GetTriggerChargeC() const = 0;
76 : virtual UShort_t GetTriggerBits() const = 0;
77 :
78 : virtual Bool_t GetPFBBFlag(Int_t channel, Int_t clock) const = 0;
79 : virtual Bool_t GetPFBGFlag(Int_t channel, Int_t clock) const = 0;
80 :
81 : protected:
82 :
83 : Bool_t OutOfRange(Int_t i, const char *s, Int_t upper) const;
84 :
85 196 : ClassDef(AliVAD,3)
86 : };
87 :
88 : #endif
|