]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/ESD/AliESDVZERO.h
Fix for IsTriggerInputFired,GetFiredTriggerInputs
[u/mrichter/AliRoot.git] / STEER / ESD / AliESDVZERO.h
CommitLineData
5fc205b9 1#ifndef ALIESDVZERO_H
2#define ALIESDVZERO_H
dd735cf0 3
b734abbe 4//-------------------------------------------------------------------------
5// Container class for ESD VZERO data
6// Author: Brigitte Cheynis & Cvetan Cheshkov
7//-------------------------------------------------------------------------
dd735cf0 8
b734abbe 9#include <AliVVZERO.h>
10
11class AliESDVZERO : public AliVVZERO
dd735cf0 12{
13public:
14 AliESDVZERO();
5fc205b9 15 AliESDVZERO(const AliESDVZERO&o);
d0502ab2 16 AliESDVZERO(UInt_t BBtriggerV0A, UInt_t BGtriggerV0A,
17 UInt_t BBtriggerV0C, UInt_t BGtriggerV0C,
db0db003 18 Float_t *Multiplicity, Float_t *Adc,
19 Float_t *Time, Float_t *Width, Bool_t *BBFlag, Bool_t *BGFlag);
b734abbe 20 void Copy(TObject &obj) const;
732a24fe 21
a055ee24 22 virtual ~AliESDVZERO() {};
b44c933e 23
d0502ab2 24 // Setters
b734abbe 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])
a055ee24 30 {for(Int_t i=0;i<64;i++) fMultiplicity[i]=Multiplicity[i];}
b734abbe 31 void SetADC(Float_t adc[64])
28fdf12c 32 {for(Int_t i=0;i<64;i++) fAdc[i]=adc[i];}
b734abbe 33 void SetTime(Float_t time[64])
28fdf12c 34 {for(Int_t i=0;i<64;i++) fTime[i]=time[i];}
b734abbe 35 void SetWidth(Float_t width[64])
d0502ab2 36 {for(Int_t i=0;i<64;i++) fWidth[i]=width[i];}
b734abbe 37 void SetBBFlag(Bool_t BBFlag[64])
d0502ab2 38 {for(Int_t i=0;i<64;i++) fBBFlag[i]=BBFlag[i];}
b734abbe 39 void SetBGFlag(Bool_t BGFlag[64])
d0502ab2 40 {for(Int_t i=0;i<64;i++) fBGFlag[i]=BGFlag[i];}
b44c933e 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;}
18b2dabf 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
a055ee24 54 // Getters
b734abbe 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; }
18b2dabf 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; }
d0502ab2 92
a055ee24 93 AliESDVZERO &operator=(const AliESDVZERO& source);
dd735cf0 94
95protected:
dd735cf0 96
d0502ab2 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
a055ee24 101
6c6d6114 102 Float_t fMultiplicity[64]; // multiplicity for each channel
db0db003 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
d0502ab2 106 Bool_t fBBFlag[64]; // BB Flags from Online V0 Electronics
107 Bool_t fBGFlag[64]; // BG Flags from Online V0 Electronics
b44c933e 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
18b2dabf 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)
dd735cf0 122};
123
124#endif