StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StEmcMicroEvent.h
1 
6 #ifndef StEmcMicroEvent__h
7 #define StEmcMicroEvent__h
8 
9 #include "TObject.h"
10 #include "StEmcMicroCollection.h"
11 #include "StFpdMicroCollection.h"
12 #include "StEmcMicroTrack.h"
13 #include "StEmcMicroV0.h"
14 #include "TObjArray.h"
15 
16 class StEmcMicroEvent : public TObject
17 {
18 
19  public:
20 
22  virtual ~StEmcMicroEvent();
23 
24  Int_t getVersion() const { return mVersion; }
25 
26  StEmcMicroCollection* getEmc() const { return fEmc; }
27  StFpdMicroCollection* getFpd() const { return fFpd; }
28 
29  StEmcMicroTrack* getPrimaryTrack(Int_t i) const { return (StEmcMicroTrack*)fpTracks->At(i); }
30  Int_t getNPrimaryTrack() const { return fpTracks->GetEntries(); }
31  StEmcMicroTrack* getGlobalTrack(Int_t i) const { return (StEmcMicroTrack*)fgTracks->At(i); }
32  Int_t getNGlobalTrack() const { return fgTracks->GetEntries(); }
33 
34  StEmcMicroV0* getV0(Int_t i) const { return (StEmcMicroV0*)fV0->At(i); }
35  Int_t getNV0() const { return fV0->GetEntries(); }
36 
37  UInt_t getOrigMult() const { return mOrigMult; }
38  UInt_t getCentrality() const { return mCentrality; }
39  Float_t getVertexX() const { return mVertexX; }
40  Float_t getVertexY() const { return mVertexY; }
41  Float_t getVertexZ() const { return mVertexZ; }
42 
43  UInt_t getL0TriggerWord() const { return mL0TriggerWord; }
44 
45  Int_t getEventID() const { return mEventID; }
46  Int_t getRunID() const { return mRunID; }
47  Int_t getEventTime() const { return mEventTime; }
48  Int_t getToken() const { return mToken; }
49 
50  Int_t getCTB() const { return mCTB; }
51 
52  Int_t getZDCe() const { return mZDCe; }
53  Int_t getZDCw() const { return mZDCw; }
54  Float_t getZVertexZDC() const { return mZVertexZDC; }
55 
56  Int_t getBBCe() const { return mBBCe; }
57  Int_t getBBCw() const { return mBBCw; }
58  Int_t getBBCSum() const { return mBBCe+mBBCw; }
59  Int_t getBBCNHits() const { return mBBCNHits; }
60  Float_t getZVertexBBC() const { return mZVertexBBC; }
61 
62  Int_t getHighTower(Int_t i) const { return (Int_t)mHT[i]; }
63  Int_t getPatch(Int_t i) const { return (Int_t)mPATCH[i]; }
64 
65  UInt_t getBunchCrossing7bit() const { return mBX7bit; }
66  UInt_t getBunchCrossing() const { return mBX; }
67  Int_t getSpinBits() const { return mSpinBits; }
68  Int_t getSpinBitYellowUp() const { return (mSpinBits >> 0) & 0x1; }
69  Int_t getSpinBitYellowDown() const { return (mSpinBits >> 1) & 0x1; }
70  Int_t getSpinBitBlueUp() const { return (mSpinBits >> 2) & 0x1; }
71  Int_t getSpinBitBlueDown() const { return (mSpinBits >> 3) & 0x1; }
72 
73  Float_t getBField() const { return mBField; }
74 
75  void setEmc(StEmcMicroCollection* emc) { fEmc = emc; }
76  void setFpd(StFpdMicroCollection* fpd) { fFpd = fpd; }
77  void addPrimaryTrack(StEmcMicroTrack *t) { fpTracks->AddLast(t); }
78  void addGlobalTrack(StEmcMicroTrack *t) { fgTracks->AddLast(t); }
79  void addV0(StEmcMicroV0 *v) { fV0->AddLast(v); }
80 
81  void setVersion(const Int_t ver) { mVersion = ver; }
82 
83  void setOrigMult(const UInt_t mult) { mOrigMult = mult; }
84  void setCentrality(const UInt_t cent) { mCentrality = cent; }
85  void setVertexPos(const Float_t x, const Float_t y, const Float_t z) { mVertexX=x; mVertexY=y; mVertexZ=z; }
86 
87  void setL0TriggerWord(const UInt_t trigger) { mL0TriggerWord = trigger; }
88  void setEventID(const Int_t id) { mEventID = id; }
89  void setRunID(const Int_t id) { mRunID = id; }
90  void setEventTime(const Int_t time) { mEventTime = time; }
91  void setToken(const Int_t token) { mToken = token; }
92 
93  void setCTB(const Int_t ctb) { mCTB = ctb; }
94 
95  void setZDCe(const Int_t zdce) { mZDCe = zdce; }
96  void setZDCw(const Int_t zdcw) { mZDCw = zdcw; }
97  void setZVertexZDC(const Float_t ZVZDC) { mZVertexZDC = ZVZDC; }
98 
99  void setBBCe(const Int_t bbce) { mBBCe = bbce; }
100  void setBBCw(const Int_t bbcw) { mBBCw = bbcw; }
101  void setBBCNHits(const Int_t BBCNH) { mBBCNHits = BBCNH; }
102  void setZVertexBBC(const Float_t ZVBBC) { mZVertexBBC = ZVBBC; }
103 
104  void setHighTower(const Int_t i, const Int_t HT) { mHT[i] = (Char_t)HT; }
105  void setPatch(const Int_t i, const Int_t PATCH) { mPATCH[i] = (Char_t)PATCH; }
106 
107  void setBunchCrossing7bit(const UInt_t BX7) { mBX7bit = BX7; }
108  void setBunchCrossing(const UInt_t BX) { mBX = BX; }
109  void setSpinBits(const Int_t Spin) { mSpinBits = Spin; }
110 
111  void setBField(const Float_t bf) { mBField = bf; }
112 
113  private:
114 
115  void clear(Option_t *option="");
116 
117  Int_t mVersion;
118 
119  UInt_t mOrigMult;
120  UInt_t mCentrality;
121  Float_t mVertexX;
122  Float_t mVertexY;
123  Float_t mVertexZ;
124 
125  UInt_t mL0TriggerWord;
126  Int_t mEventID;
127  Int_t mRunID;
128  Int_t mEventTime;
129  Int_t mToken;
130  Int_t mCTB;
131  Int_t mZDCe;
132  Int_t mZDCw;
133  Float_t mZVertexZDC;
134  Int_t mBBCe;
135  Int_t mBBCw;
136  Int_t mBBCNHits;
137  Float_t mZVertexBBC;
138 
139  Char_t mHT[300];
140  Char_t mPATCH[300];
141 
142  UInt_t mBX7bit;
143  UInt_t mBX;
144  Int_t mSpinBits;
145 
146  Float_t mBField;
147 
148  StEmcMicroCollection* fEmc;
149  StFpdMicroCollection* fFpd;
150  TObjArray* fpTracks;
151  TObjArray* fgTracks;
152  TObjArray* fV0;
153 
154  ClassDef(StEmcMicroEvent,1)
155 };
156 
157 #endif
Int_t getZDCe() const
Return ZDC east.
Int_t getBBCe() const
Return BBC east.
StEmcMicroTrack * getGlobalTrack(Int_t i) const
Return Global track.
Int_t getEventTime() const
Return event time (unix time)
Int_t getNV0() const
Return Number of V0.
StFpdMicroCollection * getFpd() const
Return FPD Information.
Float_t getVertexY() const
Return Vertex Y.
Float_t getZVertexZDC() const
Return Z vertex from ZDC.
StEmcMicroTrack * getPrimaryTrack(Int_t i) const
Return Primary track.
Int_t getZDCw() const
Return ZDC west.
Int_t getEventID() const
Return Event Id.
Int_t getHighTower(Int_t i) const
Return EMC High tower ADC.
Int_t getSpinBits() const
Return Spin bits.
Int_t getNPrimaryTrack() const
Return Number of Primary track.
UInt_t getL0TriggerWord() const
Return L0 trigger word.
Int_t getSpinBitYellowDown() const
Return Spin bit yellow down.
Int_t getSpinBitBlueDown() const
Return Spin bit blue down.
Float_t getVertexX() const
Return Vertex X.
Int_t getBBCNHits() const
Return BBC number of hits.
Int_t getSpinBitYellowUp() const
Return Spin bit yellow up.
UInt_t getCentrality() const
Return centrality (not defined yet)
Float_t getBField() const
Return Magnetic field (tesla)
Int_t getVersion() const
Return EMC Micro Event version.
Int_t getBBCw() const
Return BBC west.
UInt_t getOrigMult() const
Return Multiplicity (number of primaries before cut)
Int_t getPatch(Int_t i) const
Return EMC Patch ADC.
Int_t getNGlobalTrack() const
Return Number of Global track.
Float_t getVertexZ() const
Return Vertex Z.
UInt_t getBunchCrossing7bit() const
Return Bunch Crossing Id 7 bits.
Int_t getToken() const
Return event Token.
Int_t getBBCSum() const
Return BBC sum.
Float_t getZVertexBBC() const
Return BBC Z Vertex.
StEmcMicroV0 * getV0(Int_t i) const
Return V0.
StEmcMicroCollection * getEmc() const
Return micro EMC collection.
Int_t getRunID() const
Return run number.
UInt_t getBunchCrossing() const
Return Bunch Crossing.
Int_t getSpinBitBlueUp() const
Return Spin bit blue up.
Int_t getCTB() const
Return CTB sum.