]>
Commit | Line | Data |
---|---|---|
a055ee24 | 1 | #include <Riostream.h> |
dd735cf0 | 2 | #include "AliESDVZERO.h" |
3 | ||
4 | ClassImp(AliESDVZERO) | |
5 | ||
a055ee24 | 6 | AliESDVZERO::AliESDVZERO() |
7 | :TObject(), | |
8 | fBBtriggerV0A(0), | |
9 | fBGtriggerV0A(0), | |
10 | fBBtriggerV0C(0), | |
11 | fBGtriggerV0C(0) | |
dd735cf0 | 12 | { |
13 | // Default constructor | |
a055ee24 | 14 | for(Int_t j=0; j<64; j++){ |
15 | fMultiplicity[j] = 0; | |
cd888a89 | 16 | } |
dd735cf0 | 17 | } |
18 | ||
cd888a89 | 19 | AliESDVZERO::AliESDVZERO(const AliESDVZERO &o) |
20 | :TObject(o), | |
a055ee24 | 21 | fBBtriggerV0A(o.fBBtriggerV0A), |
22 | fBGtriggerV0A(o.fBGtriggerV0A), | |
23 | fBBtriggerV0C(o.fBBtriggerV0C), | |
24 | fBGtriggerV0C(o.fBGtriggerV0C) | |
dd735cf0 | 25 | { |
26 | // Default constructor | |
a055ee24 | 27 | for(Int_t j=0; j<64; j++) |
28 | fMultiplicity[j] = o.fMultiplicity[j]; | |
dd735cf0 | 29 | } |
30 | ||
a055ee24 | 31 | AliESDVZERO::AliESDVZERO(UInt_t BBtriggerV0A, UInt_t BGtriggerV0A, |
32 | UInt_t BBtriggerV0C, UInt_t BGtriggerV0C, | |
33 | Short_t *Multiplicity) | |
cd888a89 | 34 | :TObject(), |
a055ee24 | 35 | fBBtriggerV0A(BBtriggerV0A), |
36 | fBGtriggerV0A(BGtriggerV0A), | |
37 | fBBtriggerV0C(BBtriggerV0C), | |
38 | fBGtriggerV0C(BGtriggerV0C) | |
39 | ||
dd735cf0 | 40 | { |
41 | // Constructor | |
a055ee24 | 42 | for(Int_t j=0; j<64; j++) |
43 | fMultiplicity[j] = Multiplicity[j]; | |
dd735cf0 | 44 | } |
45 | ||
a055ee24 | 46 | |
dd735cf0 | 47 | AliESDVZERO& AliESDVZERO::operator=(const AliESDVZERO& o) |
48 | { | |
cd888a89 | 49 | |
a055ee24 | 50 | if(this==&o) return *this; |
cd888a89 | 51 | TObject::operator=(o); |
dd735cf0 | 52 | // Assignment operator |
a055ee24 | 53 | fBBtriggerV0A=o.fBBtriggerV0A; |
54 | fBGtriggerV0A=o.fBGtriggerV0A; | |
55 | fBBtriggerV0C=o.fBBtriggerV0C; | |
56 | fBGtriggerV0C=o.fBGtriggerV0C; | |
57 | for(Int_t j=0; j<64; j++) | |
58 | fMultiplicity[j] = o.fMultiplicity[j]; | |
59 | return *this; | |
60 | } | |
cd888a89 | 61 | |
a055ee24 | 62 | Short_t AliESDVZERO::GetNbPMV0A() |
63 | { | |
64 | Short_t n=0; | |
65 | for(Int_t i=32;i<64;i++) | |
66 | if (fMultiplicity[i]>0) n++; | |
67 | return n; | |
68 | } | |
dd735cf0 | 69 | |
a055ee24 | 70 | Short_t AliESDVZERO::GetNbPMV0C() |
71 | { | |
72 | Short_t n=0; | |
73 | for(Int_t i=0;i<32;i++) | |
74 | if (fMultiplicity[i]>0) n++; | |
75 | return n; | |
76 | } | |
dd735cf0 | 77 | |
a055ee24 | 78 | Int_t AliESDVZERO::GetMTotV0A() |
79 | { | |
80 | Int_t n=0; | |
81 | for(Int_t i=32;i<64;i++) | |
82 | n+= (Int_t) fMultiplicity[i]; | |
83 | return n; | |
84 | } | |
85 | ||
86 | Int_t AliESDVZERO::GetMTotV0C() | |
87 | { | |
88 | Int_t n=0; | |
89 | for(Int_t i=0;i<32;i++) | |
90 | n+= (Int_t) fMultiplicity[i]; | |
91 | return n; | |
92 | } | |
93 | ||
94 | ||
95 | Int_t* AliESDVZERO::GetMRingV0A() | |
96 | { | |
97 | cout << "AliESDVZERO::GetMRingV0C() not supported any more" << endl; | |
98 | cout << "use Int_t AliESDVZERO::GetMRingV0C(Int_t ring)" << endl; | |
99 | return 0x0; | |
100 | } | |
101 | ||
102 | Int_t* AliESDVZERO::GetMRingV0C() | |
103 | { | |
104 | cout << "AliESDVZERO::GetMRingV0C() not supported any more" << endl; | |
105 | cout << "use Int_t AliESDVZERO::GetMRingV0C(Int_t ring)" << endl; | |
106 | return 0x0; | |
dd735cf0 | 107 | } |
108 | ||
a055ee24 | 109 | Int_t AliESDVZERO::GetMRingV0A(Int_t ring) |
110 | { | |
111 | if (OutOfRange(ring, "AliESDVZERO:::GetMRingV0A",4)) return -1; | |
112 | Int_t n=0; | |
732a24fe | 113 | |
a055ee24 | 114 | if (ring == 0) for(Int_t i=32;i<40;i++) n += (Int_t) fMultiplicity[i]; |
115 | if (ring == 1) for(Int_t i=40;i<48;i++) n += (Int_t) fMultiplicity[i]; | |
116 | if (ring == 2) for(Int_t i=48;i<56;i++) n += (Int_t) fMultiplicity[i]; | |
117 | if (ring == 3) for(Int_t i=56;i<64;i++) n += (Int_t) fMultiplicity[i]; | |
118 | return n ; | |
119 | } | |
732a24fe | 120 | |
a055ee24 | 121 | Int_t AliESDVZERO::GetMRingV0C(Int_t ring) |
122 | { | |
123 | if (OutOfRange(ring, "AliESDVZERO:::GetMRingV0C",4)) return -1; | |
124 | Int_t n=0; | |
732a24fe | 125 | |
a055ee24 | 126 | if (ring == 0) for(Int_t i=0;i<8;i++) n += (Int_t) fMultiplicity[i]; |
127 | if (ring == 1) for(Int_t i=8;i<16;i++) n += (Int_t) fMultiplicity[i]; | |
128 | if (ring == 2) for(Int_t i=16;i<24;i++) n += (Int_t) fMultiplicity[i]; | |
129 | if (ring == 3) for(Int_t i=24;i<32;i++) n += (Int_t) fMultiplicity[i]; | |
130 | return n ; | |
732a24fe | 131 | } |
132 | ||
a055ee24 | 133 | Int_t AliESDVZERO::GetMultiplicity(Int_t i) |
134 | ||
135 | { | |
136 | if (OutOfRange(i, "AliESDVZERO::GetMultiplicity:",64)) return -1; | |
137 | return fMultiplicity[i]; | |
138 | } | |
139 | ||
140 | Bool_t AliESDVZERO::BBTriggerV0A(Int_t i) | |
141 | { | |
142 | if (OutOfRange(i, "AliESDVZERO:::BBTriggerV0A",32)) return kFALSE; | |
143 | UInt_t test = 1; | |
144 | return ( fBBtriggerV0A & (test << i) ? kTRUE : kFALSE ); | |
145 | } | |
146 | ||
147 | Bool_t AliESDVZERO::BGTriggerV0A(Int_t i) | |
148 | { | |
149 | if (OutOfRange(i, "AliESDVZERO:::BGTriggerV0A",32)) return kFALSE; | |
150 | UInt_t test = 1; | |
151 | return ( fBGtriggerV0A & (test << i) ? kTRUE : kFALSE ); | |
152 | } | |
153 | ||
154 | Bool_t AliESDVZERO::BBTriggerV0C(Int_t i) | |
155 | { | |
156 | if (OutOfRange(i, "AliESDVZERO:::BBTriggerV0C",32)) return kFALSE; | |
157 | UInt_t test = 1; | |
158 | return ( fBBtriggerV0C & (test << i) ? kTRUE : kFALSE ); | |
159 | } | |
160 | ||
161 | Bool_t AliESDVZERO::BGTriggerV0C(Int_t i) | |
162 | { | |
163 | if (OutOfRange(i, "AliESDVZERO:::BGTriggerV0C",32)) return kFALSE; | |
164 | UInt_t test = 1; | |
165 | return ( fBGtriggerV0C & (test << i) ? kTRUE : kFALSE ); | |
166 | } | |
167 | ||
168 | Bool_t AliESDVZERO::OutOfRange(Int_t i, const char *s, Int_t upper) const | |
169 | { | |
170 | // checks if i is a valid index. s = name of calling method | |
171 | if (i > upper || i < 0) { | |
172 | cout << s << " Index " << i << " out of range" << endl; | |
173 | return kTRUE; | |
174 | } | |
175 | return kFALSE; | |
176 | } | |
732a24fe | 177 |