00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef StHltTrackNode_hh
00018 #define StHltTrackNode_hh
00019
00020 #include <Stiostream.h>
00021 #include "StObject.h"
00022 #include "StArray.h"
00023
00024 #include "StHltTriggerReasonCapable.h"
00025
00026 class StHltTrack;
00027 class StHltBTofHit;
00028 class StHltBEmcTowerHit;
00029
00030
00031 class StHltTrackNode : public StHltTriggerReasonCapable {
00032 public:
00033 StHltTrackNode();
00034 ~StHltTrackNode();
00035
00036 StHltTrack* globalTrack();
00037 const StHltTrack* globalTrack() const;
00038
00039 StHltTrack* primaryTrack();
00040 const StHltTrack* primaryTrack() const;
00041
00042 StHltBTofHit* bTofHit();
00043 const StHltBTofHit* bTofHit() const;
00044
00045 StHltBEmcTowerHit* bEmcTowerHit();
00046 const StHltBEmcTowerHit* bEmcTowerHit() const;
00047
00048 int globalTrackSN() const;
00049 int primaryTrackSN() const;
00050 int tofHitSN() const;
00051 int emcTowerSN() const;
00052
00053 double bEmcMatchPhiDiff() const;
00054 double bEmcMatchZEdge() const;
00055
00056 float bTofProjChannel() const;
00057 float bTofCellLocalY() const;
00058 float bTofCellLocalZ() const;
00059 float bTofPathLength() const;
00060 float beta() const;
00061 float tof() const;
00062
00063 void setGlobalTrack(StHltTrack*);
00064 void setPrimaryTrack(StHltTrack*);
00065 void setBTofHit(StHltBTofHit*);
00066 void setBEmcTowerHit(StHltBEmcTowerHit*);
00067 void setGlobalTrackSN(int);
00068 void setPrimaryTrackSN(int);
00069 void setTofHitSN(int);
00070 void setEmcTowerSN(int);
00071 void setBEmcMatchPhiDiff(double);
00072 void setBEmcMatchZEdge(double);
00073 void setBTofProjChannel(float);
00074 void setBTofCellLocalY(float);
00075 void setBTofCellLocalZ(float);
00076 void setBTofPathLength(float);
00077 void setBeta(float);
00078 void setTof(float);
00079
00080 private:
00081
00082 #ifdef __CINT__
00083 StObjLink mGlobalTrack;
00084 StObjLink mPrimaryTrack;
00085 StObjLink mBTofHit;
00086 StObjLink mBEmcTowerHit;
00087 #else
00088 StLink<StHltTrack> mGlobalTrack;
00089 StLink<StHltTrack> mPrimaryTrack;
00090 StLink<StHltBTofHit> mBTofHit;
00091 StLink<StHltBEmcTowerHit> mBEmcTowerHit;
00092 #endif //__CINT__
00093
00094 double mBEmcMatchPhiDiff;
00095 double mBEmcMatchZEdge;
00096
00097 int mGlobalTrackSN;
00098 int mPrimaryTrackSN;
00099 int mTofHitSN;
00100 int mEmcTowerSN;
00101
00102 float mBTofProjChannel;
00103 float mBTofCellLocalY;
00104 float mBTofCellLocalZ;
00105 float mBTofPathLength;
00106 float mBeta;
00107 float mTof;
00108
00109 ClassDef(StHltTrackNode,1)
00110 };
00111
00112 ostream& operator<<(ostream&, const StHltTrackNode&);
00113
00114
00115 #endif
00116
00117
00118
00119
00120
00121