]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - STEER/AliAODHeader.cxx
Fixing ompilation warnings
[u/mrichter/AliRoot.git] / STEER / AliAODHeader.cxx
... / ...
CommitLineData
1/**************************************************************************
2 * Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16/* $Id$ */
17
18//-------------------------------------------------------------------------
19// AOD event base class
20// Author: Markus Oldenburg, CERN
21//-------------------------------------------------------------------------
22
23#include "AliAODHeader.h"
24
25ClassImp(AliAODHeader)
26
27//______________________________________________________________________________
28AliAODHeader::AliAODHeader() :
29 AliVHeader(),
30 fMagneticField(-999.),
31 fMuonMagFieldScale(-999.),
32 fCentrality(-999.),
33 fZDCN1Energy(-999.),
34 fZDCP1Energy(-999.),
35 fZDCN2Energy(-999.),
36 fZDCP2Energy(-999.),
37 fNQTheta(0),
38 fQTheta(0x0),
39 fTriggerMask(0),
40 fRunNumber(-999),
41 fRefMult(-999),
42 fRefMultPos(-999),
43 fRefMultNeg(-999),
44 fEventType(0),
45 fOrbitNumber(0),
46 fPeriodNumber(0),
47 fBunchCrossNumber(0),
48 fTriggerCluster(0)
49{
50 // default constructor
51
52 SetName("header");
53 for(int j=0; j<2; j++) fZDCEMEnergy[j] = -999.;
54 for(Int_t i=0; i<2; i++) fDiamondXY[i]=0.;
55 fDiamondCovXY[0]=fDiamondCovXY[2]=3.*3.;
56 fDiamondCovXY[1]=0.;
57}
58
59//______________________________________________________________________________
60AliAODHeader::AliAODHeader(Int_t nRun,
61 UShort_t nBunchX,
62 UInt_t nOrbit,
63 UInt_t nPeriod,
64 const Char_t *title) :
65 AliVHeader(),
66 fMagneticField(-999.),
67 fMuonMagFieldScale(-999.),
68 fCentrality(-999.),
69 fZDCN1Energy(-999.),
70 fZDCP1Energy(-999.),
71 fZDCN2Energy(-999.),
72 fZDCP2Energy(-999.),
73 fNQTheta(0),
74 fQTheta(0x0),
75 fTriggerMask(0),
76 fRunNumber(nRun),
77 fRefMult(-999),
78 fRefMultPos(-999),
79 fRefMultNeg(-999),
80 fEventType(0),
81 fOrbitNumber(nOrbit),
82 fPeriodNumber(nPeriod),
83 fBunchCrossNumber(nBunchX),
84 fTriggerCluster(0)
85{
86 // constructor
87
88 SetName("header");
89 SetTitle(title);
90 for(int j=0; j<2; j++) fZDCEMEnergy[j] = -999.;
91 for(Int_t i=0; i<2; i++) fDiamondXY[i]=0.;
92 fDiamondCovXY[0]=fDiamondCovXY[2]=3.*3.;
93 fDiamondCovXY[1]=0.;
94}
95
96//______________________________________________________________________________
97AliAODHeader::AliAODHeader(Int_t nRun,
98 UShort_t nBunchX,
99 UInt_t nOrbit,
100 UInt_t nPeriod,
101 Int_t refMult,
102 Int_t refMultPos,
103 Int_t refMultNeg,
104 Double_t magField,
105 Double_t muonMagFieldScale,
106 Double_t cent,
107 Double_t n1Energy,
108 Double_t p1Energy,
109 Double_t n2Energy,
110 Double_t p2Energy,
111 Double_t *emEnergy,
112 ULong64_t trigMask,
113 UChar_t trigClus,
114 UInt_t evttype,
115 const Char_t *title) :
116 AliVHeader(),
117 fMagneticField(magField),
118 fMuonMagFieldScale(muonMagFieldScale),
119 fCentrality(cent),
120 fZDCN1Energy(n1Energy),
121 fZDCP1Energy(p1Energy),
122 fZDCN2Energy(n2Energy),
123 fZDCP2Energy(p2Energy),
124 fNQTheta(0),
125 fQTheta(0x0),
126 fTriggerMask(trigMask),
127 fRunNumber(nRun),
128 fRefMult(refMult),
129 fRefMultPos(refMultPos),
130 fRefMultNeg(refMultNeg),
131 fEventType(evttype),
132 fOrbitNumber(nOrbit),
133 fPeriodNumber(nPeriod),
134 fBunchCrossNumber(nBunchX),
135 fTriggerCluster(trigClus)
136{
137 // constructor
138
139 SetName("header");
140 SetTitle(title);
141 for(int j=0; j<2; j++) fZDCEMEnergy[j] = emEnergy[j];
142 for(Int_t i=0; i<2; i++) fDiamondXY[i]=0.;
143 fDiamondCovXY[0]=fDiamondCovXY[2]=3.*3.;
144 fDiamondCovXY[1]=0.;
145}
146
147//______________________________________________________________________________
148AliAODHeader::~AliAODHeader()
149{
150 // destructor
151
152 RemoveQTheta();
153}
154
155//______________________________________________________________________________
156AliAODHeader::AliAODHeader(const AliAODHeader& hdr) :
157 AliVHeader(hdr),
158 fMagneticField(hdr.fMagneticField),
159 fMuonMagFieldScale(hdr.fMuonMagFieldScale),
160 fCentrality(hdr.fCentrality),
161 fZDCN1Energy(hdr.fZDCN1Energy),
162 fZDCP1Energy(hdr.fZDCP1Energy),
163 fZDCN2Energy(hdr.fZDCN2Energy),
164 fZDCP2Energy(hdr.fZDCP2Energy),
165 fNQTheta(0),
166 fQTheta(0x0),
167 fTriggerMask(hdr.fTriggerMask),
168 fRunNumber(hdr.fRunNumber),
169 fRefMult(hdr.fRefMult),
170 fRefMultPos(hdr.fRefMultPos),
171 fRefMultNeg(hdr.fRefMultNeg),
172 fEventType(hdr.fEventType),
173 fOrbitNumber(hdr.fOrbitNumber),
174 fPeriodNumber(hdr.fPeriodNumber),
175 fBunchCrossNumber(hdr.fBunchCrossNumber),
176 fTriggerCluster(hdr.fTriggerCluster)
177{
178 // Copy constructor.
179
180 SetName(hdr.fName);
181 SetTitle(hdr.fTitle);
182 SetQTheta(hdr.fQTheta, hdr.fNQTheta);
183 SetZDCEMEnergy(hdr.fZDCEMEnergy[0], hdr.fZDCEMEnergy[1]);
184 for(Int_t i=0; i<2; i++) fDiamondXY[i]=hdr.fDiamondXY[i];
185 for(Int_t i=0; i<3; i++) fDiamondCovXY[i]=hdr.fDiamondCovXY[i];
186}
187
188//______________________________________________________________________________
189AliAODHeader& AliAODHeader::operator=(const AliAODHeader& hdr)
190{
191 // Assignment operator
192 if(this!=&hdr) {
193
194 AliVHeader::operator=(hdr);
195
196 fMagneticField = hdr.fMagneticField;
197 fMuonMagFieldScale= hdr.fMuonMagFieldScale;
198 fCentrality = hdr.fCentrality;
199 fZDCN1Energy = hdr.fZDCN1Energy;
200 fZDCP1Energy = hdr.fZDCP1Energy;
201 fZDCN2Energy = hdr.fZDCN2Energy;
202 fZDCP2Energy = hdr.fZDCP2Energy;
203 fTriggerMask = hdr.fTriggerMask;
204 fRunNumber = hdr.fRunNumber;
205 fRefMult = hdr.fRefMult;
206 fRefMultPos = hdr.fRefMultPos;
207 fRefMultNeg = hdr.fRefMultNeg;
208 fEventType = hdr.fEventType;
209 fOrbitNumber = hdr.fOrbitNumber;
210 fPeriodNumber = hdr.fPeriodNumber;
211 fBunchCrossNumber = hdr.fBunchCrossNumber;
212 fTriggerCluster = hdr.fTriggerCluster;
213
214 SetName(hdr.fName);
215 SetTitle(hdr.fTitle);
216 SetQTheta(hdr.fQTheta, hdr.fNQTheta);
217 SetZDCEMEnergy(hdr.fZDCEMEnergy[0], hdr.fZDCEMEnergy[1]);
218 for(Int_t i=0; i<2; i++) fDiamondXY[i]=hdr.fDiamondXY[i];
219 for(Int_t i=0; i<3; i++) fDiamondCovXY[i]=hdr.fDiamondCovXY[i];
220 }
221
222
223 return *this;
224}
225
226//______________________________________________________________________________
227void AliAODHeader::SetQTheta(Double_t *QTheta, UInt_t size)
228{
229 if (QTheta && size>0) {
230 if (size != (UInt_t)fNQTheta) {
231 RemoveQTheta();
232 fNQTheta = size;
233 fQTheta = new Double_t[fNQTheta];
234 }
235
236 for (Int_t i = 0; i < fNQTheta; i++) {
237 fQTheta[i] = QTheta[i];
238 }
239 } else {
240 RemoveQTheta();
241 }
242
243 return;
244}
245
246//______________________________________________________________________________
247Double_t AliAODHeader::GetQTheta(UInt_t i) const
248{
249 if (fQTheta && i < (UInt_t)fNQTheta) {
250 return fQTheta[i];
251 } else {
252 return -999.;
253 }
254}
255
256//______________________________________________________________________________
257void AliAODHeader::RemoveQTheta()
258{
259 delete[] fQTheta;
260 fQTheta = 0x0;
261 fNQTheta = 0;
262
263 return;
264}
265
266//______________________________________________________________________________
267void AliAODHeader::Print(Option_t* /*option*/) const
268{
269 // prints event information
270
271 printf("Run # : %d\n", fRunNumber);
272 printf("Bunch Crossing # : %d\n", fBunchCrossNumber);
273 printf("Orbit Number # : %d\n", fOrbitNumber);
274 printf("Period Number # : %d\n", fPeriodNumber);
275 printf("Trigger mask : %lld\n", fTriggerMask);
276 printf("Trigger cluster : %d\n", fTriggerCluster);
277 printf("Event Type : %d\n", fEventType);
278 printf("Magnetic field : %f\n", fMagneticField);
279 printf("Muon mag. field scale : %f\n", fMuonMagFieldScale);
280
281 printf("Centrality : %f\n", fCentrality);
282 printf("ZDC N1 Energy : %f\n", fZDCN1Energy);
283 printf("ZDC P1 Energy : %f\n", fZDCP1Energy);
284 printf("ZDC N2 Energy : %f\n", fZDCN2Energy);
285 printf("ZDC P2 Energy : %f\n", fZDCP2Energy);
286 printf("ZDC EM1 Energy : %f\n", fZDCEMEnergy[0]);
287 printf("ZDC EM2 Energy : %f\n", fZDCEMEnergy[1]);
288 printf("ref. Multiplicity : %d\n", fRefMult);
289 printf("ref. Multiplicity (pos) : %d\n", fRefMultPos);
290 printf("ref. Multiplicity (neg) : %d\n", fRefMultNeg);
291
292 if (fQTheta) {
293 for (UInt_t i = 0; i<(UInt_t)fNQTheta; i++) {
294 printf("QTheta[%d] : %13.3e\n", i, GetQTheta(i));
295 }
296 }
297
298 return;
299}