]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIESDVZERO_H | |
2 | #define ALIESDVZERO_H | |
3 | ||
4 | //------------------------------------------------------------------------- | |
5 | // Container class for ESD VZERO data | |
6 | // Author: Brigitte Cheynis & Cvetan Cheshkov | |
7 | //------------------------------------------------------------------------- | |
8 | ||
9 | #include <AliVVZERO.h> | |
10 | ||
11 | class AliESDVZERO : public AliVVZERO | |
12 | { | |
13 | public: | |
14 | AliESDVZERO(); | |
15 | AliESDVZERO(const AliESDVZERO&o); | |
16 | AliESDVZERO(UInt_t BBtriggerV0A, UInt_t BGtriggerV0A, | |
17 | UInt_t BBtriggerV0C, UInt_t BGtriggerV0C, | |
18 | Float_t *Multiplicity, Float_t *Adc, | |
19 | Float_t *Time, Float_t *Width, Bool_t *BBFlag, Bool_t *BGFlag); | |
20 | void Copy(TObject &obj) const; | |
21 | ||
22 | virtual ~AliESDVZERO() {}; | |
23 | ||
24 | // Setters | |
25 | void SetBBtriggerV0A(UInt_t BBtrigger) {fBBtriggerV0A=BBtrigger;} | |
26 | void SetBGtriggerV0A(UInt_t BGtrigger) {fBGtriggerV0A=BGtrigger;} | |
27 | void SetBBtriggerV0C(UInt_t BBtrigger) {fBBtriggerV0C=BBtrigger;} | |
28 | void SetBGtriggerV0C(UInt_t BGtrigger) {fBGtriggerV0C=BGtrigger;} | |
29 | void SetMultiplicity(Float_t Multiplicity[64]) | |
30 | {for(Int_t i=0;i<64;i++) fMultiplicity[i]=Multiplicity[i];} | |
31 | void SetADC(Float_t adc[64]) | |
32 | {for(Int_t i=0;i<64;i++) fAdc[i]=adc[i];} | |
33 | void SetTime(Float_t time[64]) | |
34 | {for(Int_t i=0;i<64;i++) fTime[i]=time[i];} | |
35 | void SetWidth(Float_t width[64]) | |
36 | {for(Int_t i=0;i<64;i++) fWidth[i]=width[i];} | |
37 | void SetBBFlag(Bool_t BBFlag[64]) | |
38 | {for(Int_t i=0;i<64;i++) fBBFlag[i]=BBFlag[i];} | |
39 | void SetBGFlag(Bool_t BGFlag[64]) | |
40 | {for(Int_t i=0;i<64;i++) fBGFlag[i]=BGFlag[i];} | |
41 | ||
42 | void SetV0ATime(Float_t time) {fV0ATime = time;} | |
43 | void SetV0CTime(Float_t time) {fV0CTime = time;} | |
44 | void SetV0ATimeError(Float_t err) {fV0ATimeError = err;} | |
45 | void SetV0CTimeError(Float_t err) {fV0CTimeError = err;} | |
46 | ||
47 | void SetV0ADecision(Decision des) {fV0ADecision = des;} | |
48 | void SetV0CDecision(Decision des) {fV0CDecision = des;} | |
49 | ||
50 | void SetTriggerChargeA(UShort_t chargeA) {fTriggerChargeA = chargeA;} | |
51 | void SetTriggerChargeC(UShort_t chargeC) {fTriggerChargeC = chargeC;} | |
52 | void SetTriggerBits(UShort_t triggerBits) {fTriggerBits = triggerBits;} | |
53 | ||
54 | // Getters | |
55 | virtual Short_t GetNbPMV0A() const; | |
56 | virtual Short_t GetNbPMV0C() const; | |
57 | virtual Float_t GetMTotV0A() const; | |
58 | virtual Float_t GetMTotV0C() const; | |
59 | virtual Float_t GetMRingV0A(Int_t ring) const; | |
60 | virtual Float_t GetMRingV0C(Int_t ring) const; | |
61 | ||
62 | virtual Float_t GetMultiplicity(Int_t i) const; | |
63 | virtual Float_t GetMultiplicityV0A(Int_t i) const; | |
64 | virtual Float_t GetMultiplicityV0C(Int_t i) const; | |
65 | virtual Float_t GetAdc(Int_t i) const; | |
66 | virtual Float_t GetAdcV0A(Int_t i) const; | |
67 | virtual Float_t GetAdcV0C(Int_t i) const; | |
68 | virtual Float_t GetTime(Int_t i) const; | |
69 | virtual Float_t GetTimeV0A(Int_t i) const; | |
70 | virtual Float_t GetTimeV0C(Int_t i) const; | |
71 | virtual Float_t GetWidth(Int_t i) const; | |
72 | virtual Float_t GetWidthV0A(Int_t i) const; | |
73 | virtual Float_t GetWidthV0C(Int_t i) const; | |
74 | virtual Bool_t BBTriggerV0A(Int_t i) const; | |
75 | virtual Bool_t BGTriggerV0A(Int_t i) const; | |
76 | virtual Bool_t BBTriggerV0C(Int_t i) const; | |
77 | virtual Bool_t BGTriggerV0C(Int_t i) const; | |
78 | virtual Bool_t GetBBFlag(Int_t i) const; | |
79 | virtual Bool_t GetBGFlag(Int_t i) const; | |
80 | ||
81 | virtual Float_t GetV0ATime() const { return fV0ATime; } | |
82 | virtual Float_t GetV0CTime() const { return fV0CTime; } | |
83 | virtual Float_t GetV0ATimeError() const { return fV0ATimeError; } | |
84 | virtual Float_t GetV0CTimeError() const { return fV0CTimeError; } | |
85 | ||
86 | virtual Decision GetV0ADecision() const { return fV0ADecision; } | |
87 | virtual Decision GetV0CDecision() const { return fV0CDecision; } | |
88 | ||
89 | virtual UShort_t GetTriggerChargeA() const { return fTriggerChargeA; } | |
90 | virtual UShort_t GetTriggerChargeC() const { return fTriggerChargeC; } | |
91 | virtual UShort_t GetTriggerBits() const { return fTriggerBits; } | |
92 | ||
93 | AliESDVZERO &operator=(const AliESDVZERO& source); | |
94 | ||
95 | protected: | |
96 | ||
97 | UInt_t fBBtriggerV0A; // bit mask for Beam-Beam trigger in V0A | |
98 | UInt_t fBGtriggerV0A; // bit mask for Beam-Gas trigger in V0A | |
99 | UInt_t fBBtriggerV0C; // bit mask for Beam-Beam trigger in V0C | |
100 | UInt_t fBGtriggerV0C; // bit mask for Beam-Gas trigger in V0C | |
101 | ||
102 | Float_t fMultiplicity[64]; // multiplicity for each channel | |
103 | Float_t fAdc[64]; // adc for each channel | |
104 | Float_t fTime[64]; // time for each channel | |
105 | Float_t fWidth[64]; // time width for each channel | |
106 | Bool_t fBBFlag[64]; // BB Flags from Online V0 Electronics | |
107 | Bool_t fBGFlag[64]; // BG Flags from Online V0 Electronics | |
108 | ||
109 | Float_t fV0ATime; // Average time in V0A | |
110 | Float_t fV0CTime; // Average time in V0C | |
111 | Float_t fV0ATimeError; // Error in the average time in V0A | |
112 | Float_t fV0CTimeError; // Error in the average time in V0C | |
113 | ||
114 | Decision fV0ADecision; // V0A final decision based on average time of channels | |
115 | Decision fV0CDecision; // V0C final decision based on average time of channels | |
116 | ||
117 | UShort_t fTriggerChargeA; // Sum of the trigger (clock=10) charge on A side | |
118 | UShort_t fTriggerChargeC; // Sum of the trigger (clock=10) charge on C side | |
119 | UShort_t fTriggerBits; // V0 trigger bits as defined in the firmware | |
120 | ||
121 | ClassDef(AliESDVZERO,10) | |
122 | }; | |
123 | ||
124 | #endif |