]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliAODHeader.cxx
Clean-up in includes.
[u/mrichter/AliRoot.git] / STEER / AliAODHeader.cxx
CommitLineData
df9db588 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() :
9ae2e5e6 29 AliVHeader(),
df9db588 30 fMagneticField(-999.),
6b6f8d32 31 fMuonMagFieldScale(-999.),
df9db588 32 fCentrality(-999.),
6b6f8d32 33 fZDCN1Energy(-999.),
34 fZDCP1Energy(-999.),
35 fZDCN2Energy(-999.),
36 fZDCP2Energy(-999.),
37 fZDCEMEnergy(-999.),
ff254193 38 fNQTheta(0),
39 fQTheta(0x0),
df9db588 40 fTriggerMask(0),
df9db588 41 fRunNumber(-999),
42 fRefMult(-999),
43 fRefMultPos(-999),
44 fRefMultNeg(-999),
9333290e 45 fEventType(0),
46 fOrbitNumber(0),
47 fPeriodNumber(0),
48 fBunchCrossNumber(0),
df9db588 49 fTriggerCluster(0)
50{
51 // default constructor
9ae2e5e6 52
53 SetName("header");
df9db588 54}
55
56//______________________________________________________________________________
31fd97b2 57AliAODHeader::AliAODHeader(Int_t nRun,
58 UShort_t nBunchX,
59 UInt_t nOrbit,
89cf15db 60 UInt_t nPeriod,
df9db588 61 Char_t *title) :
9ae2e5e6 62 AliVHeader(),
df9db588 63 fMagneticField(-999.),
6b6f8d32 64 fMuonMagFieldScale(-999.),
df9db588 65 fCentrality(-999.),
6b6f8d32 66 fZDCN1Energy(-999.),
67 fZDCP1Energy(-999.),
68 fZDCN2Energy(-999.),
69 fZDCP2Energy(-999.),
70 fZDCEMEnergy(-999.),
ff254193 71 fNQTheta(0),
72 fQTheta(0x0),
df9db588 73 fTriggerMask(0),
ff254193 74 fRunNumber(nRun),
df9db588 75 fRefMult(-999),
76 fRefMultPos(-999),
77 fRefMultNeg(-999),
9333290e 78 fEventType(0),
79 fOrbitNumber(nOrbit),
80 fPeriodNumber(nPeriod),
81 fBunchCrossNumber(nBunchX),
df9db588 82 fTriggerCluster(0)
83{
84 // constructor
9ae2e5e6 85
86 SetName("header");
87 SetTitle(title);
df9db588 88}
89
90//______________________________________________________________________________
31fd97b2 91AliAODHeader::AliAODHeader(Int_t nRun,
92 UShort_t nBunchX,
93 UInt_t nOrbit,
89cf15db 94 UInt_t nPeriod,
df9db588 95 Int_t refMult,
96 Int_t refMultPos,
97 Int_t refMultNeg,
98 Double_t magField,
6b6f8d32 99 Double_t muonMagFieldScale,
df9db588 100 Double_t cent,
6b6f8d32 101 Double_t n1Energy,
102 Double_t p1Energy,
103 Double_t n2Energy,
104 Double_t p2Energy,
105 Double_t emEnergy,
106 ULong64_t trigMask,
df9db588 107 UChar_t trigClus,
108 UInt_t evttype,
109 Char_t *title) :
9ae2e5e6 110 AliVHeader(),
df9db588 111 fMagneticField(magField),
6b6f8d32 112 fMuonMagFieldScale(muonMagFieldScale),
df9db588 113 fCentrality(cent),
6b6f8d32 114 fZDCN1Energy(n1Energy),
115 fZDCP1Energy(p1Energy),
116 fZDCN2Energy(n2Energy),
117 fZDCP2Energy(p2Energy),
118 fZDCEMEnergy(emEnergy),
ff254193 119 fNQTheta(0),
120 fQTheta(0x0),
df9db588 121 fTriggerMask(trigMask),
df9db588 122 fRunNumber(nRun),
123 fRefMult(refMult),
124 fRefMultPos(refMultPos),
125 fRefMultNeg(refMultNeg),
9333290e 126 fEventType(evttype),
127 fOrbitNumber(nOrbit),
128 fPeriodNumber(nPeriod),
129 fBunchCrossNumber(nBunchX),
df9db588 130 fTriggerCluster(trigClus)
131{
132 // constructor
9ae2e5e6 133
134 SetName("header");
135 SetTitle(title);
df9db588 136}
137
138//______________________________________________________________________________
139AliAODHeader::~AliAODHeader()
140{
141 // destructor
ff254193 142
143 RemoveQTheta();
df9db588 144}
145
146//______________________________________________________________________________
147AliAODHeader::AliAODHeader(const AliAODHeader& hdr) :
9ae2e5e6 148 AliVHeader(hdr),
df9db588 149 fMagneticField(hdr.fMagneticField),
6b6f8d32 150 fMuonMagFieldScale(hdr.fMuonMagFieldScale),
df9db588 151 fCentrality(hdr.fCentrality),
6b6f8d32 152 fZDCN1Energy(hdr.fZDCN1Energy),
153 fZDCP1Energy(hdr.fZDCP1Energy),
154 fZDCN2Energy(hdr.fZDCN2Energy),
155 fZDCP2Energy(hdr.fZDCP2Energy),
156 fZDCEMEnergy(hdr.fZDCEMEnergy),
ff254193 157 fNQTheta(0),
158 fQTheta(0x0),
df9db588 159 fTriggerMask(hdr.fTriggerMask),
df9db588 160 fRunNumber(hdr.fRunNumber),
161 fRefMult(hdr.fRefMult),
162 fRefMultPos(hdr.fRefMultPos),
163 fRefMultNeg(hdr.fRefMultNeg),
9333290e 164 fEventType(hdr.fEventType),
165 fOrbitNumber(hdr.fOrbitNumber),
166 fPeriodNumber(hdr.fPeriodNumber),
167 fBunchCrossNumber(hdr.fBunchCrossNumber),
df9db588 168 fTriggerCluster(hdr.fTriggerCluster)
169{
170 // Copy constructor.
9ae2e5e6 171
172 SetName(hdr.fName);
173 SetTitle(hdr.fTitle);
ff254193 174 SetQTheta(hdr.fQTheta, hdr.fNQTheta);
df9db588 175}
176
177//______________________________________________________________________________
178AliAODHeader& AliAODHeader::operator=(const AliAODHeader& hdr)
179{
180 // Assignment operator
181 if(this!=&hdr) {
6b6f8d32 182
9ae2e5e6 183 AliVHeader::operator=(hdr);
df9db588 184
31fd97b2 185 fMagneticField = hdr.fMagneticField;
6b6f8d32 186 fMuonMagFieldScale= hdr.fMuonMagFieldScale;
31fd97b2 187 fCentrality = hdr.fCentrality;
6b6f8d32 188 fZDCN1Energy = hdr.fZDCN1Energy;
189 fZDCP1Energy = hdr.fZDCP1Energy;
190 fZDCN2Energy = hdr.fZDCN2Energy;
191 fZDCP2Energy = hdr.fZDCP2Energy;
192 fZDCEMEnergy = hdr.fZDCEMEnergy;
31fd97b2 193 fTriggerMask = hdr.fTriggerMask;
31fd97b2 194 fRunNumber = hdr.fRunNumber;
195 fRefMult = hdr.fRefMult;
196 fRefMultPos = hdr.fRefMultPos;
197 fRefMultNeg = hdr.fRefMultNeg;
9333290e 198 fEventType = hdr.fEventType;
199 fOrbitNumber = hdr.fOrbitNumber;
200 fPeriodNumber = hdr.fPeriodNumber;
201 fBunchCrossNumber = hdr.fBunchCrossNumber;
31fd97b2 202 fTriggerCluster = hdr.fTriggerCluster;
ff254193 203
204 SetName(hdr.fName);
205 SetTitle(hdr.fTitle);
206 SetQTheta(hdr.fQTheta, hdr.fNQTheta);
df9db588 207 }
208
9ae2e5e6 209
df9db588 210 return *this;
211}
212
ff254193 213//______________________________________________________________________________
214void AliAODHeader::SetQTheta(Double_t *QTheta, UInt_t size)
215{
216 if (QTheta && size>0) {
217 if (size != (UInt_t)fNQTheta) {
218 RemoveQTheta();
219 fNQTheta = size;
220 fQTheta = new Double_t[fNQTheta];
221 }
222
223 for (Int_t i = 0; i < fNQTheta; i++) {
224 fQTheta[i] = QTheta[i];
225 }
226 } else {
227 RemoveQTheta();
228 }
229
230 return;
231}
232
233//______________________________________________________________________________
234Double_t AliAODHeader::GetQTheta(UInt_t i) const
235{
236 if (fQTheta && i < (UInt_t)fNQTheta) {
237 return fQTheta[i];
238 } else {
239 return -999.;
240 }
241}
242
243//______________________________________________________________________________
244void AliAODHeader::RemoveQTheta()
245{
246 delete[] fQTheta;
247 fQTheta = 0x0;
248 fNQTheta = 0;
249
250 return;
251}
252
df9db588 253//______________________________________________________________________________
254void AliAODHeader::Print(Option_t* /*option*/) const
255{
256 // prints event information
257
df9db588 258 printf("Run # : %d\n", fRunNumber);
31fd97b2 259 printf("Bunch Crossing # : %d\n", fBunchCrossNumber);
260 printf("Orbit Number # : %d\n", fOrbitNumber);
89cf15db 261 printf("Period Number # : %d\n", fPeriodNumber);
df9db588 262 printf("Trigger mask : %lld\n", fTriggerMask);
263 printf("Trigger cluster : %d\n", fTriggerCluster);
264 printf("Event Type : %d\n", fEventType);
265 printf("Magnetic field : %f\n", fMagneticField);
6b6f8d32 266 printf("Muon mag. field scale : %f\n", fMuonMagFieldScale);
df9db588 267
268 printf("Centrality : %f\n", fCentrality);
6b6f8d32 269 printf("ZDC N1 Energy : %f\n", fZDCN1Energy);
270 printf("ZDC P1 Energy : %f\n", fZDCP1Energy);
271 printf("ZDC N2 Energy : %f\n", fZDCN2Energy);
272 printf("ZDC P2 Energy : %f\n", fZDCP2Energy);
273 printf("ZDC EM Energy : %f\n", fZDCEMEnergy);
df9db588 274 printf("ref. Multiplicity : %d\n", fRefMult);
275 printf("ref. Multiplicity (pos) : %d\n", fRefMultPos);
276 printf("ref. Multiplicity (neg) : %d\n", fRefMultNeg);
277
ff254193 278 if (fQTheta) {
279 for (UInt_t i = 0; i<(UInt_t)fNQTheta; i++) {
280 printf("QTheta[%d] : %d\n", i, GetQTheta(i));
281 }
282 }
283
284 return;
df9db588 285}