Line data Source code
1 : #ifndef ALIAODAD_H
2 : #define ALIAODAD_H
3 :
4 : //-------------------------------------------------------------------------
5 : // Container class for AOD AD data
6 : // Author: Michal Broz
7 : // michal.broz@cern.ch
8 : //-------------------------------------------------------------------------
9 :
10 : #include <AliVAD.h>
11 :
12 : class AliAODAD : public AliVAD
13 : {
14 : public:
15 : AliAODAD();
16 : AliAODAD(const AliAODAD& source);
17 : AliAODAD(const AliVAD& source);
18 : AliAODAD &operator=(const AliAODAD& source);
19 : AliAODAD &operator=(const AliVAD& source);
20 :
21 0 : virtual ~AliAODAD() {};
22 :
23 : // Getters
24 : virtual Short_t GetNbPMADA() const;
25 : virtual Short_t GetNbPMADC() const;
26 : virtual Float_t GetMTotADA() const;
27 : virtual Float_t GetMTotADC() const;
28 :
29 : virtual Float_t GetMultiplicity(Int_t i) const;
30 : virtual Float_t GetMultiplicityADA(Int_t i) const;
31 : virtual Float_t GetMultiplicityADC(Int_t i) const;
32 :
33 : virtual Bool_t BBTriggerADA(Int_t i) const;
34 : virtual Bool_t BGTriggerADA(Int_t i) const;
35 : virtual Bool_t BBTriggerADC(Int_t i) const;
36 : virtual Bool_t BGTriggerADC(Int_t i) const;
37 : virtual Bool_t GetBBFlag(Int_t i) const;
38 : virtual Bool_t GetBGFlag(Int_t i) const;
39 :
40 0 : virtual Float_t GetADATime() const { return fADATime; }
41 0 : virtual Float_t GetADCTime() const { return fADCTime; }
42 :
43 0 : virtual Decision GetADADecision() const { return fADADecision; }
44 0 : virtual Decision GetADCDecision() const { return fADCDecision; }
45 :
46 0 : virtual UShort_t GetTriggerChargeA() const { return fTriggerChargeA; }
47 0 : virtual UShort_t GetTriggerChargeC() const { return fTriggerChargeC; }
48 0 : virtual UShort_t GetTriggerBits() const { return fTriggerBits; }
49 :
50 0 : virtual Bool_t GetPFBBFlag(Int_t channel, Int_t clock) const { return fIsBB[channel][clock]; }
51 0 : virtual Bool_t GetPFBGFlag(Int_t channel, Int_t clock) const { return fIsBG[channel][clock]; }
52 :
53 : protected:
54 :
55 : UInt_t fBBtriggerADA; // bit mask for Beam-Beam trigger in ADA
56 : UInt_t fBGtriggerADA; // bit mask for Beam-Gas trigger in ADA
57 : UInt_t fBBtriggerADC; // bit mask for Beam-Beam trigger in ADC
58 : UInt_t fBGtriggerADC; // bit mask for Beam-Gas trigger in ADC
59 :
60 : Float_t fMultiplicity[16]; // multiplicity for each channel
61 :
62 : Bool_t fBBFlag[16]; // BB Flags from Online AD Electronics
63 : Bool_t fBGFlag[16]; // BG Flags from Online AD Electronics
64 :
65 : Float_t fADATime; // Average time in ADA
66 : Float_t fADCTime; // Average time in ADC
67 :
68 : Decision fADADecision; // ADA final decision based on average time of channels
69 : Decision fADCDecision; // ADC final decision based on average time of channels
70 :
71 : UShort_t fTriggerChargeA; // Sum of the trigger (clock=10) charge on A side
72 : UShort_t fTriggerChargeC; // Sum of the trigger (clock=10) charge on C side
73 : UShort_t fTriggerBits; // AD trigger bits as defined in the firmware
74 :
75 : Bool_t fIsBB[16][21]; // BB flag for all channels and 21 clocks
76 : Bool_t fIsBG[16][21]; // BG flag for all channels and 21 clocks
77 :
78 286 : ClassDef(AliAODAD,2)
79 : };
80 :
81 : #endif
|