]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliAODHeader.cxx
New class for debugging of the memory consumption and other run time parameters ...
[u/mrichter/AliRoot.git] / STEER / AliAODHeader.cxx
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
25 ClassImp(AliAODHeader)
26
27 //______________________________________________________________________________
28 AliAODHeader::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   fZDCEMEnergy(-999.),
38   fTriggerMask(0),
39   fRunNumber(-999),  
40   fRefMult(-999),
41   fRefMultPos(-999),
42   fRefMultNeg(-999),
43   fEventType(0),
44   fOrbitNumber(0),
45   fPeriodNumber(0),
46   fBunchCrossNumber(0),
47   fTriggerCluster(0)
48 {
49   // default constructor
50
51   SetName("header");
52 }
53
54 //______________________________________________________________________________
55 AliAODHeader::AliAODHeader(Int_t nRun, 
56                            UShort_t nBunchX,
57                            UInt_t nOrbit,
58                            UInt_t nPeriod,
59                            Char_t *title) :
60   AliVHeader(),
61   fMagneticField(-999.),
62   fMuonMagFieldScale(-999.),
63   fCentrality(-999.),
64   fZDCN1Energy(-999.),
65   fZDCP1Energy(-999.),
66   fZDCN2Energy(-999.),
67   fZDCP2Energy(-999.),
68   fZDCEMEnergy(-999.),
69   fTriggerMask(0),
70    fRunNumber(nRun),
71   fRefMult(-999),
72   fRefMultPos(-999),
73   fRefMultNeg(-999),
74   fEventType(0),
75   fOrbitNumber(nOrbit),
76   fPeriodNumber(nPeriod),
77   fBunchCrossNumber(nBunchX),
78   fTriggerCluster(0)
79 {
80   // constructor
81
82   SetName("header");
83   SetTitle(title);
84 }
85
86 //______________________________________________________________________________
87 AliAODHeader::AliAODHeader(Int_t nRun, 
88                            UShort_t nBunchX,
89                            UInt_t nOrbit,
90                            UInt_t nPeriod,
91                            Int_t refMult,
92                            Int_t refMultPos,
93                            Int_t refMultNeg,
94                            Double_t magField,
95                            Double_t muonMagFieldScale,
96                            Double_t cent,
97                            Double_t n1Energy,
98                            Double_t p1Energy,
99                            Double_t n2Energy,
100                            Double_t p2Energy,
101                            Double_t emEnergy,
102                            ULong64_t trigMask,
103                            UChar_t trigClus,
104                            UInt_t evttype,
105                            Char_t *title) :
106   AliVHeader(),
107   fMagneticField(magField),
108   fMuonMagFieldScale(muonMagFieldScale),
109   fCentrality(cent),
110   fZDCN1Energy(n1Energy),
111   fZDCP1Energy(p1Energy),
112   fZDCN2Energy(n2Energy),
113   fZDCP2Energy(p2Energy),
114   fZDCEMEnergy(emEnergy),
115   fTriggerMask(trigMask),
116   fRunNumber(nRun),  
117   fRefMult(refMult),
118   fRefMultPos(refMultPos),
119   fRefMultNeg(refMultNeg),
120   fEventType(evttype),
121   fOrbitNumber(nOrbit),
122   fPeriodNumber(nPeriod),
123   fBunchCrossNumber(nBunchX),
124   fTriggerCluster(trigClus)
125 {
126   // constructor
127
128   SetName("header");
129   SetTitle(title);
130 }
131
132 //______________________________________________________________________________
133 AliAODHeader::~AliAODHeader() 
134 {
135   // destructor
136 }
137
138 //______________________________________________________________________________
139 AliAODHeader::AliAODHeader(const AliAODHeader& hdr) :
140   AliVHeader(hdr),
141   fMagneticField(hdr.fMagneticField),
142   fMuonMagFieldScale(hdr.fMuonMagFieldScale),
143   fCentrality(hdr.fCentrality),
144   fZDCN1Energy(hdr.fZDCN1Energy),
145   fZDCP1Energy(hdr.fZDCP1Energy),
146   fZDCN2Energy(hdr.fZDCN2Energy),
147   fZDCP2Energy(hdr.fZDCP2Energy),
148   fZDCEMEnergy(hdr.fZDCEMEnergy),
149   fTriggerMask(hdr.fTriggerMask),
150   fRunNumber(hdr.fRunNumber),  
151   fRefMult(hdr.fRefMult), 
152   fRefMultPos(hdr.fRefMultPos), 
153   fRefMultNeg(hdr.fRefMultNeg),
154   fEventType(hdr.fEventType),
155   fOrbitNumber(hdr.fOrbitNumber),
156   fPeriodNumber(hdr.fPeriodNumber),
157   fBunchCrossNumber(hdr.fBunchCrossNumber),
158   fTriggerCluster(hdr.fTriggerCluster)
159 {
160   // Copy constructor.
161   
162   SetName(hdr.fName);
163   SetTitle(hdr.fTitle);
164 }
165
166 //______________________________________________________________________________
167 AliAODHeader& AliAODHeader::operator=(const AliAODHeader& hdr)
168 {
169   // Assignment operator
170   if(this!=&hdr) {
171     
172      AliVHeader::operator=(hdr);
173     
174     fMagneticField    = hdr.fMagneticField;
175     fMuonMagFieldScale= hdr.fMuonMagFieldScale;
176     fCentrality       = hdr.fCentrality;
177     fZDCN1Energy      = hdr.fZDCN1Energy;
178     fZDCP1Energy      = hdr.fZDCP1Energy;
179     fZDCN2Energy      = hdr.fZDCN2Energy;
180     fZDCP2Energy      = hdr.fZDCP2Energy;
181     fZDCEMEnergy      = hdr.fZDCEMEnergy;
182     fTriggerMask      = hdr.fTriggerMask;
183     fRunNumber        = hdr.fRunNumber;
184     fRefMult          = hdr.fRefMult;
185     fRefMultPos       = hdr.fRefMultPos;
186     fRefMultNeg       = hdr.fRefMultNeg;
187     fEventType        = hdr.fEventType;
188     fOrbitNumber      = hdr.fOrbitNumber;
189     fPeriodNumber     = hdr.fPeriodNumber;
190     fBunchCrossNumber = hdr.fBunchCrossNumber;
191     fTriggerCluster   = hdr.fTriggerCluster;
192   }
193
194   SetName(hdr.fName);
195   SetTitle(hdr.fTitle);
196
197   return *this;
198 }
199
200 //______________________________________________________________________________
201 void AliAODHeader::Print(Option_t* /*option*/) const 
202 {
203   // prints event information
204
205   printf("Run #                   : %d\n", fRunNumber);
206   printf("Bunch Crossing  #       : %d\n", fBunchCrossNumber);
207   printf("Orbit Number #          : %d\n", fOrbitNumber);
208   printf("Period Number #         : %d\n", fPeriodNumber);
209   printf("Trigger mask            : %lld\n", fTriggerMask);
210   printf("Trigger cluster         : %d\n", fTriggerCluster);
211   printf("Event Type              : %d\n", fEventType);
212   printf("Magnetic field          : %f\n", fMagneticField);
213   printf("Muon mag. field scale   : %f\n", fMuonMagFieldScale);
214   
215   printf("Centrality              : %f\n", fCentrality);
216   printf("ZDC N1 Energy           : %f\n", fZDCN1Energy);
217   printf("ZDC P1 Energy           : %f\n", fZDCP1Energy);
218   printf("ZDC N2 Energy           : %f\n", fZDCN2Energy);
219   printf("ZDC P2 Energy           : %f\n", fZDCP2Energy);
220   printf("ZDC EM Energy           : %f\n", fZDCEMEnergy);
221   printf("ref. Multiplicity       : %d\n", fRefMult);
222   printf("ref. Multiplicity (pos) : %d\n", fRefMultPos);
223   printf("ref. Multiplicity (neg) : %d\n", fRefMultNeg);
224
225 }