New classes to put all ESD contents on branches
[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   TObject(),
31   fTriggerMask(0),
32   fOrbitNumber(0),
33   fTimeStamp(0),
34   fEventType(0),
35   fEventNumberInFile(0),
36   fBunchCrossNumber(0),
37   fTriggerCluster(0)
38 {
39 }
40
41
42 AliESDHeader::AliESDHeader(const AliESDHeader &header) :
43   TObject(header),
44   fTriggerMask(header.fTriggerMask),
45   fOrbitNumber(header.fOrbitNumber),
46   fTimeStamp(header.fTimeStamp),
47   fEventType(header.fEventType),
48   fEventNumberInFile(header.fEventNumberInFile),
49   fBunchCrossNumber(header.fBunchCrossNumber),
50   fTriggerCluster(header.fTriggerCluster)
51 {
52   // copy constructor
53 }
54
55 AliESDHeader& AliESDHeader::operator=(const AliESDHeader &header)
56
57   // assigment operator
58   if(this!=&header) {
59     TObject::operator=(header);
60     fTriggerMask = header.fTriggerMask;
61     fOrbitNumber = header.fOrbitNumber;
62     fTimeStamp = header.fTimeStamp;
63     fEventType = header.fEventType;
64     fEventNumberInFile = header.fEventNumberInFile;
65     fBunchCrossNumber = header.fBunchCrossNumber;
66     fTriggerCluster = header.fTriggerCluster;
67   } 
68   return *this;
69 }
70
71
72
73 //______________________________________________________________________________
74 void AliESDHeader::Reset()
75 {
76   // reset all data members
77   fTriggerMask       = 0;
78   fOrbitNumber       = 0;
79   fTimeStamp         = 0;
80   fEventType         = 0;
81   fEventNumberInFile = 0;
82   fBunchCrossNumber  = 0;
83   fTriggerCluster    = 0;
84 }
85
86 //______________________________________________________________________________
87 void AliESDHeader::Print(const Option_t *) const
88 {
89   // Print some data members
90   printf("Event # %d in file Bunch crossing # %d Orbit # %d Trigger %lld \n",
91          GetEventNumberInFile(),
92          GetBunchCrossNumber(),
93          GetOrbitNumber(),
94          GetTriggerMask());
95 }
96