1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
16 //-------------------------------------------------------------------------
17 // Implementation of Class AliESDHeader
20 // Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch
21 //-------------------------------------------------------------------------
23 #include "AliESDHeader.h"
24 #include "AliTriggerScalersESD.h"
25 #include "AliTriggerScalersRecordESD.h"
26 #include "AliTriggerIR.h"
28 ClassImp(AliESDHeader)
30 //______________________________________________________________________________
31 AliESDHeader::AliESDHeader() :
38 fEventNumberInFile(0),
45 fIRArray("AliTriggerIR",3)
47 // default constructor
49 SetName("AliESDHeader");
51 AliESDHeader::~AliESDHeader()
57 AliESDHeader::AliESDHeader(const AliESDHeader &header) :
59 fTriggerMask(header.fTriggerMask),
60 fOrbitNumber(header.fOrbitNumber),
61 fTimeStamp(header.fTimeStamp),
62 fEventType(header.fEventType),
63 fPeriodNumber(header.fPeriodNumber),
64 fEventNumberInFile(header.fEventNumberInFile),
65 fBunchCrossNumber(header.fBunchCrossNumber),
66 fTriggerCluster(header.fTriggerCluster),
67 fL0TriggerInputs(header.fL0TriggerInputs),
68 fL1TriggerInputs(header.fL1TriggerInputs),
69 fL2TriggerInputs(header.fL2TriggerInputs),
70 fTriggerScalers(header.fTriggerScalers),
71 fIRArray(*((TClonesArray*)header.fIRArray.Clone()))
74 SetName(header.fName);
75 SetTitle(header.fTitle);
78 AliESDHeader& AliESDHeader::operator=(const AliESDHeader &header)
82 AliVHeader::operator=(header);
83 fTriggerMask = header.fTriggerMask;
84 fOrbitNumber = header.fOrbitNumber;
85 fTimeStamp = header.fTimeStamp;
86 fEventType = header.fEventType;
87 fPeriodNumber = header.fPeriodNumber;
88 fEventNumberInFile = header.fEventNumberInFile;
89 fBunchCrossNumber = header.fBunchCrossNumber;
90 fTriggerCluster = header.fTriggerCluster;
91 fL0TriggerInputs = header.fL0TriggerInputs;
92 fL1TriggerInputs = header.fL1TriggerInputs;
93 fL2TriggerInputs = header.fL2TriggerInputs;
94 fTriggerScalers = header.fTriggerScalers;
95 fIRArray = header.fIRArray;
96 SetName(header.fName);
97 SetTitle(header.fTitle);
103 void AliESDHeader::Copy(TObject &obj) const
105 // this overwrites the virtual TOBject::Copy()
106 // to allow run time copying without casting
109 if(this==&obj)return;
110 AliESDHeader *robj = dynamic_cast<AliESDHeader*>(&obj);
111 if(!robj)return; // not an AliESDHeader
115 //______________________________________________________________________________
116 void AliESDHeader::Reset()
118 // reset all data members
124 fEventNumberInFile = 0;
125 fBunchCrossNumber = 0;
127 fL0TriggerInputs = 0;
128 fL1TriggerInputs = 0;
129 fL2TriggerInputs = 0;
130 fTriggerScalers.Reset();
134 //______________________________________________________________________________
135 void AliESDHeader::Print(const Option_t *) const
137 // Print some data members
138 printf("Event # %d in file Bunch crossing # %d Orbit # %d Trigger %lld \n",
139 GetEventNumberInFile(),
140 GetBunchCrossNumber(),