EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FairMCEventHeader.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file FairMCEventHeader.h
1 
8 #ifndef FAIRMCEVENTHEADER_H
9 #define FAIRMCEVENTHEADER_H 1
10 
11 
12 #include "TNamed.h"
13 #include "TVector3.h"
14 
15 
16 class FairMCEventHeader : public TNamed
17 {
18 
19  public:
20 
23 
24 
33  FairMCEventHeader(Int_t iEvent, Double_t x, Double_t y, Double_t z,
34  Double_t t, Double_t b, Int_t nPrim);
35 
36 
38  FairMCEventHeader(UInt_t runId);
39 
40 
42  virtual ~FairMCEventHeader();
43 
44 
46  UInt_t GetRunID() const { return fRunId; }
47  UInt_t GetEventID() const { return fEventId; }
48  Double_t GetX() const { return fX; }
49  Double_t GetY() const { return fY; }
50  Double_t GetZ() const { return fZ; }
51  Double_t GetT() const { return fT; }
52  Double_t GetB() const { return fB; }
53  Int_t GetNPrim() const { return fNPrim; }
54  Bool_t IsSet() const { return fIsSet; }
55 
56  void GetVertex(TVector3& vertex) { vertex.SetXYZ(fX, fY, fZ); }
57 
58 
60  void SetEventID(UInt_t eventId) { fEventId = eventId; }
61  void SetRunID(UInt_t runId) { fRunId = runId; }
62  void SetTime(Double_t t) { fT = t; }
63  void SetB(Double_t b) { fB = b; }
64  void SetNPrim(Int_t nPrim) { fNPrim = nPrim; }
65  void MarkSet(Bool_t isSet) { fIsSet = isSet; }
66  void SetVertex(Double_t x, Double_t y, Double_t z);
67  void SetVertex(const TVector3& vertex);
68 
69 
71  void Reset();
72 
74  virtual void Register();
75 
76  protected:
77 
78 
79  UInt_t fRunId;
80  UInt_t fEventId;
81  Double32_t fX;
82  Double32_t fY;
83  Double32_t fZ;
84  Double32_t fT;
85  Double32_t fB;
86  Int_t fNPrim;
87  Bool_t fIsSet;
88 
89 
91 
92 };
93 
94 
95 inline void FairMCEventHeader::SetVertex(Double_t x, Double_t y,
96  Double_t z)
97 {
98  fX = x;
99  fY = y;
100  fZ = z;
101 }
102 
103 
104 inline void FairMCEventHeader::SetVertex(const TVector3& vertex)
105 {
106  fX = vertex.X();
107  fY = vertex.Y();
108  fZ = vertex.Z();
109 }
110 
111 
112 #endif