51412841257a56f651a67224940caee80a3719bd
[u/mrichter/AliRoot.git] / STEER / AliESDHeader.cxx
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
25
26 ClassImp(AliESDHeader)
27
28 //______________________________________________________________________________
29 AliESDHeader::AliESDHeader() :
30   AliVHeader(),
31   fTriggerMask(0),
32   fOrbitNumber(0),
33   fTimeStamp(0),
34   fEventType(0),
35   fPeriodNumber(0),
36   fEventNumberInFile(0),
37   fBunchCrossNumber(0),
38   fTriggerCluster(0)
39 {
40   // default constructor
41
42   SetName("AliESDHeader");
43 }
44
45
46 AliESDHeader::~AliESDHeader() 
47 {
48   // destructor
49 }
50
51
52 AliESDHeader::AliESDHeader(const AliESDHeader &header) :
53   AliVHeader(header),
54   fTriggerMask(header.fTriggerMask),
55   fOrbitNumber(header.fOrbitNumber),
56   fTimeStamp(header.fTimeStamp),
57   fEventType(header.fEventType),
58   fPeriodNumber(header.fPeriodNumber),
59   fEventNumberInFile(header.fEventNumberInFile),
60   fBunchCrossNumber(header.fBunchCrossNumber),
61   fTriggerCluster(header.fTriggerCluster)
62 {
63   // copy constructor
64
65   SetName(header.fName);
66   SetTitle(header.fTitle);
67 }
68
69 AliESDHeader& AliESDHeader::operator=(const AliESDHeader &header)
70
71   // assigment operator
72   if(this!=&header) {
73     AliVHeader::operator=(header);
74     fTriggerMask = header.fTriggerMask;
75     fOrbitNumber = header.fOrbitNumber;
76     fTimeStamp = header.fTimeStamp;
77     fEventType = header.fEventType;
78     fPeriodNumber = header.fPeriodNumber;
79     fEventNumberInFile = header.fEventNumberInFile;
80     fBunchCrossNumber = header.fBunchCrossNumber;
81     fTriggerCluster = header.fTriggerCluster;
82     SetName(header.fName);
83     SetTitle(header.fTitle);
84
85   } 
86   return *this;
87 }
88
89 void AliESDHeader::Copy(TObject &obj) const {
90   
91   // this overwrites the virtual TOBject::Copy()
92   // to allow run time copying without casting
93   // in AliESDEvent
94
95   if(this==&obj)return;
96   AliESDHeader *robj = dynamic_cast<AliESDHeader*>(&obj);
97   if(!robj)return; // not an AliESDHeader
98   *robj = *this;
99
100 }
101
102
103
104 //______________________________________________________________________________
105 void AliESDHeader::Reset()
106 {
107   // reset all data members
108   fTriggerMask       = 0;
109   fOrbitNumber       = 0;
110   fTimeStamp         = 0;
111   fEventType         = 0;
112   fPeriodNumber      = 0;
113   fEventNumberInFile = 0;
114   fBunchCrossNumber  = 0;
115   fTriggerCluster    = 0;
116 }
117
118 //______________________________________________________________________________
119 void AliESDHeader::Print(const Option_t *) const
120 {
121   // Print some data members
122   printf("Event # %d in file Bunch crossing # %d Orbit # %d Trigger %lld \n",
123          GetEventNumberInFile(),
124          GetBunchCrossNumber(),
125          GetOrbitNumber(),
126          GetTriggerMask());
127 }
128