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