AliRoot Core  3dc7879 (3dc7879)
AliAODMCHeader.h
Go to the documentation of this file.
1 #ifndef ALIAODMCHEADER_H
2 #define ALIAODMCHEADER_H
3 
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice */
6 
7 
15 
16 class AliGenEventHeader;
17 
18 #include "AliVHeader.h"
19 #include "TList.h"
20 
21 class AliAODMCHeader: public AliVHeader {
22 public:
24  virtual ~AliAODMCHeader();
25  AliAODMCHeader(const AliAODMCHeader& header);
26  AliAODMCHeader& operator=(const AliAODMCHeader& header);
27  virtual void Copy(TObject &obj) const;
28 
29  virtual void SetGeneratorName(const char* c){fGenerator = c;}
30  virtual void AddGeneratorName(const char* c);
31  virtual const char* GetGeneratorName() const {return fGenerator.Data();}
32 
33  virtual void SetVertex(Double_t *vtx){
34  fVertex[0] = vtx[0]; fVertex[1] = vtx[1]; fVertex[2] = vtx[2];
35  }
36  virtual void SetVertex(Double_t x,Double_t y,Double_t z){
37  fVertex[0] = x; fVertex[1] = y; fVertex[2] = z;
38  }
39  virtual void GetVertex(Double_t *vtx) const {
40  vtx[0] = fVertex[0]; vtx[1] = fVertex[1]; vtx[2] = fVertex[2];
41  }
42 
43  virtual Double_t GetVtxX() const { return fVertex[0]; }
44  virtual Double_t GetVtxY() const { return fVertex[1]; }
45  virtual Double_t GetVtxZ() const { return fVertex[2]; }
46 
47 
48  virtual void SetImpactParameter(Double_t b){fImpactPar = b;}
49  virtual Double_t GetImpactParameter() const {return fImpactPar;}
50 
51  virtual void SetPtHard(Double_t f){fPtHard = f;}
52  virtual Double_t GetPtHard() const {return fPtHard;}
53 
54  virtual void SetCrossSection(Double_t f){fXsection = f;}
55  virtual Double_t GetCrossSection() const {return fXsection;}
56 
57  virtual void AddTrial(Int_t i) {fTrials+=i;}
58  virtual void SetTrials(Int_t f){fTrials = f;}
59  virtual Int_t GetTrials() const {return fTrials;}
60 
61  virtual void SetReactionPlaneAngle(Double_t b){fReactionPlaneAngle = b;}
62  virtual Double_t GetReactionPlaneAngle() const {return fReactionPlaneAngle;}
63 
64  virtual void SetEventType(UInt_t eventType){fEventType = eventType;}
65  virtual UInt_t GetEventType() const {return fEventType;}
66 
67  virtual void Reset();
68  virtual void Print(const Option_t *opt=0) const;
69 
70  // needed to make class non virtual
71  virtual UShort_t GetBunchCrossNumber() const {return 0;}
72  virtual UInt_t GetOrbitNumber() const {return 0;}
73  virtual UInt_t GetPeriodNumber() const {return 0;}
74  virtual ULong64_t GetTriggerMask() const {return 0;}
75  virtual ULong64_t GetTriggerMaskNext50() const {return 0;}
76  virtual UChar_t GetTriggerCluster() const {return 0;}
77  virtual UInt_t GetTimeStamp() const {return 0;}
78  //
79 
80  // Access to header informations
81 
82  virtual void AddCocktailHeader(const AliGenEventHeader* header);
83  virtual void AddCocktailHeaders(AliGenEventHeader* header);
84  virtual AliGenEventHeader* GetCocktailHeader(Int_t i);
85  virtual TList* GetCocktailHeaders(){return fHeaders;}
86  virtual UInt_t GetNCocktailHeaders(){
87  if(fHeaders)return fHeaders->GetEntries();
88  return 0;
89  }
90 
91  static const char* StdBranchName(){return fgkStdBranchName.Data();}
92 
93 private:
94 
95  static TString fgkStdBranchName;
96 
97  // General event information
98 
99  TString fGenerator;
100  Double32_t fVertex[3];
101  Double32_t fImpactPar;
102  Double32_t fPtHard; //[0,0,12]
104  Double32_t fXsection;
105  UInt_t fTrials;
106  UInt_t fEventType;
108 
109  // more details in the headers
110  TList *fHeaders;
111 
112  ClassDef(AliAODMCHeader,6)
113 
114 };
115 
116 #endif
TBrowser b
Definition: RunAnaESD.C:12
static TString fgkStdBranchName
Standard branch name.
virtual Int_t GetTrials() const
virtual void Copy(TObject &obj) const
virtual void Reset()
virtual void SetVertex(Double_t *vtx)
virtual ULong64_t GetTriggerMaskNext50() const
virtual UInt_t GetOrbitNumber() const
virtual ~AliAODMCHeader()
virtual UChar_t GetTriggerCluster() const
Double32_t fVertex[3]
MC vertex.
virtual ULong64_t GetTriggerMask() const
virtual void AddTrial(Int_t i)
virtual AliGenEventHeader * GetCocktailHeader(Int_t i)
virtual UInt_t GetPeriodNumber() const
virtual Double_t GetVtxZ() const
virtual Double_t GetVtxX() const
TList * fHeaders
List of all MC Headers.
virtual UInt_t GetNCocktailHeaders()
virtual void SetCrossSection(Double_t f)
Double32_t fPtHard
Pt hard for jet events.
Double32_t fXsection
Cross section for particlar process.
virtual const char * GetGeneratorName() const
virtual void Print(const Option_t *opt=0) const
virtual Double_t GetPtHard() const
virtual void AddCocktailHeaders(AliGenEventHeader *header)
virtual Double_t GetCrossSection() const
virtual void AddCocktailHeader(const AliGenEventHeader *header)
virtual void SetPtHard(Double_t f)
TF1 * f
Definition: interpolTest.C:21
virtual void SetTrials(Int_t f)
virtual UInt_t GetTimeStamp() const
virtual void SetVertex(Double_t x, Double_t y, Double_t z)
virtual Double_t GetReactionPlaneAngle() const
virtual void AddGeneratorName(const char *c)
virtual UInt_t GetEventType() const
virtual Double_t GetImpactParameter() const
virtual void SetEventType(UInt_t eventType)
virtual void SetGeneratorName(const char *c)
virtual Double_t GetVtxY() const
TString fGenerator
Name of the generator, combination of names in case of gen cocktail.
virtual TList * GetCocktailHeaders()
Double32_t fImpactPar
UInt_t fTrials
Number of trials.
Implementation of Class AliAODMCHeader.
virtual void SetImpactParameter(Double_t b)
virtual void SetReactionPlaneAngle(Double_t b)
UInt_t fEventType
MC Process Type of Event.
virtual UShort_t GetBunchCrossNumber() const
static const char * StdBranchName()
AliAODMCHeader & operator=(const AliAODMCHeader &header)
Double32_t fReactionPlaneAngle
MC Reaction Plane Angle.
virtual void GetVertex(Double_t *vtx) const