]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - STEER/AliESDHeader.cxx
- removed compilation warning
[u/mrichter/AliRoot.git] / STEER / AliESDHeader.cxx
... / ...
CommitLineData
1/**************************************************************************
2 * Copyright(c) 1998-1999, 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//-------------------------------------------------------------------------
17// Implementation of Class AliESDHeader
18// Header data
19// for the ESD
20// Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch
21//-------------------------------------------------------------------------
22
23#include "AliESDHeader.h"
24#include "AliTriggerScalersESD.h"
25#include "AliTriggerScalersRecordESD.h"
26#include "AliTriggerIR.h"
27#include "AliLog.h"
28
29ClassImp(AliESDHeader)
30
31//______________________________________________________________________________
32AliESDHeader::AliESDHeader() :
33 AliVHeader(),
34 fTriggerMask(0),
35 fOrbitNumber(0),
36 fTimeStamp(0),
37 fEventType(0),
38 fEventSpecie(0),
39 fPeriodNumber(0),
40 fEventNumberInFile(0),
41 fBunchCrossNumber(0),
42 fTriggerCluster(0),
43 fL0TriggerInputs(0),
44 fL1TriggerInputs(0),
45 fL2TriggerInputs(0),
46 fTriggerScalers()
47{
48 // default constructor
49
50 SetName("AliESDHeader");
51 for(Int_t i = 0; i<kNMaxIR ; i++) fIRArray[i] = 0;
52
53}
54AliESDHeader::~AliESDHeader()
55{
56 // destructor
57 for(Int_t i=0;i<kNMaxIR;i++)if(fIRArray[i])delete fIRArray[i];
58}
59
60
61AliESDHeader::AliESDHeader(const AliESDHeader &header) :
62 AliVHeader(header),
63 fTriggerMask(header.fTriggerMask),
64 fOrbitNumber(header.fOrbitNumber),
65 fTimeStamp(header.fTimeStamp),
66 fEventType(header.fEventType),
67 fEventSpecie(header.fEventSpecie),
68 fPeriodNumber(header.fPeriodNumber),
69 fEventNumberInFile(header.fEventNumberInFile),
70 fBunchCrossNumber(header.fBunchCrossNumber),
71 fTriggerCluster(header.fTriggerCluster),
72 fL0TriggerInputs(header.fL0TriggerInputs),
73 fL1TriggerInputs(header.fL1TriggerInputs),
74 fL2TriggerInputs(header.fL2TriggerInputs),
75 fTriggerScalers(header.fTriggerScalers)
76{
77 // copy constructor
78 SetName(header.fName);
79 SetTitle(header.fTitle);
80 for(Int_t i = 0; i<kNMaxIR ; i++) {
81 if(header.fIRArray[i])fIRArray[i] = new AliTriggerIR(*header.fIRArray[i]);
82 else fIRArray[i]=0;
83 }
84}
85
86AliESDHeader& AliESDHeader::operator=(const AliESDHeader &header)
87{
88 // assigment operator
89 if(this!=&header) {
90 AliVHeader::operator=(header);
91 fTriggerMask = header.fTriggerMask;
92 fOrbitNumber = header.fOrbitNumber;
93 fTimeStamp = header.fTimeStamp;
94 fEventType = header.fEventType;
95 fEventSpecie = header.fEventSpecie;
96 fPeriodNumber = header.fPeriodNumber;
97 fEventNumberInFile = header.fEventNumberInFile;
98 fBunchCrossNumber = header.fBunchCrossNumber;
99 fTriggerCluster = header.fTriggerCluster;
100 fL0TriggerInputs = header.fL0TriggerInputs;
101 fL1TriggerInputs = header.fL1TriggerInputs;
102 fL2TriggerInputs = header.fL2TriggerInputs;
103 fTriggerScalers = header.fTriggerScalers;
104 for(Int_t i = 0; i<kNMaxIR ; i++) {
105 if(header.fIRArray[i])fIRArray[i] = new AliTriggerIR(*header.fIRArray[i]);
106 else fIRArray[i]=0;
107 }
108 SetName(header.fName);
109 SetTitle(header.fTitle);
110
111 }
112 return *this;
113}
114
115void AliESDHeader::Copy(TObject &obj) const
116{
117 // this overwrites the virtual TOBject::Copy()
118 // to allow run time copying without casting
119 // in AliESDEvent
120
121 if(this==&obj)return;
122 AliESDHeader *robj = dynamic_cast<AliESDHeader*>(&obj);
123 if(!robj)return; // not an AliESDHeader
124 *robj = *this;
125
126}
127//______________________________________________________________________________
128void AliESDHeader::Reset()
129{
130 // reset all data members
131 fTriggerMask = 0;
132 fOrbitNumber = 0;
133 fTimeStamp = 0;
134 fEventType = 0;
135 fEventSpecie = 0;
136 fPeriodNumber = 0;
137 fEventNumberInFile = 0;
138 fBunchCrossNumber = 0;
139 fTriggerCluster = 0;
140 fL0TriggerInputs = 0;
141 fL1TriggerInputs = 0;
142 fL2TriggerInputs = 0;
143 fTriggerScalers.Reset();
144 for(Int_t i=0;i<kNMaxIR;i++)if(fIRArray[i]){
145 delete fIRArray[i];
146 fIRArray[i]=0;
147 }
148}
149//______________________________________________________________________________
150Bool_t AliESDHeader::AddTriggerIR(const AliTriggerIR* ir)
151{
152 // Adds trigger interaction record to array
153 for(Int_t i=0;i<kNMaxIR;i++){
154 if(!fIRArray[i]){
155 fIRArray[i]=new AliTriggerIR(*ir);
156 return 0;
157 }
158 }
159 //AliErrorClass("Attempt to add # of IRs > kNMaxIR \n");
160 return 1;
161}
162//______________________________________________________________________________
163void AliESDHeader::Print(const Option_t *) const
164{
165 // Print some data members
166 printf("Event # %d in file Bunch crossing # %d Orbit # %d Trigger %lld \n",
167 GetEventNumberInFile(),
168 GetBunchCrossNumber(),
169 GetOrbitNumber(),
170 GetTriggerMask());
171}
172