00001 #ifndef RootEventData_TMucTrack_H 00002 #define RootEventData_TMucTrack_H 1 00003 00004 #include "TObject.h" 00005 #include <vector> 00006 00007 using namespace std; 00008 00009 class TMucTrack : public TObject { 00010 00011 public: 00012 00013 TMucTrack(); 00014 00015 ~TMucTrack (); 00016 00017 00018 // void Clear(Option_t *option =""); 00019 00020 // void PrInt_t(Option_t *option="") const; 00021 00022 //Get 00023 Int_t trackId() const { return m_trackId; } 00024 Int_t id() const { return m_id; } 00025 Int_t status() const { return m_status; } 00026 Int_t type() const { return m_type; } 00027 00028 Int_t startPart() const { return m_startPart; } // start position of track locates in which part 00029 Int_t endPart() const { return m_endPart; } // end position of track locates in which part 00030 Int_t brLastLayer() const { return m_brLastLayer; } // last layer with hits in barrel 00031 Int_t ecLastLayer() const { return m_ecLastLayer; } // last layer with hits in end cap 00032 Int_t numHits() const { return m_numHits; } // total hits on the track 00033 Int_t numLayers() const { return m_numLayers; } // number of layers with hits 00034 Int_t maxHitsInLayer() const { return m_maxHitsInLayer; } 00035 00036 Double_t depth() const { return m_depth; } // depth of the track transport in iron 00037 Double_t chi2() const { return m_chi2; } 00038 Int_t dof() const { return m_dof; } 00039 Double_t rms() const { return m_rms; } 00040 00041 Double_t xPos() const { return m_xPos; } // position on the start of track in muc (vertex) 00042 Double_t yPos() const { return m_yPos; } 00043 Double_t zPos() const { return m_zPos; } 00044 00045 Double_t xPosSigma() const {return m_xPosSigma; } 00046 Double_t yPosSigma() const {return m_yPosSigma; } 00047 Double_t zPosSigma() const {return m_zPosSigma; } 00048 00049 Double_t px() const { return m_px; } // momentum on the start of track in muc 00050 Double_t py() const { return m_py; } 00051 Double_t pz() const { return m_pz; } 00052 00053 Double_t distance() const {return m_distance; } 00054 Double_t deltaPhi() const {return m_deltaPhi; } 00055 00056 //vector<Int_t> vecHits() const { return m_vecHits ;} 00057 //added by LI Chunhua 2013/02/01 00058 Double_t kalRechi2() const {return m_kalrechi2;} 00059 Int_t kaldof() const {return m_kaldof;} 00060 Double_t kaldepth() const {return m_kaldepth;} 00061 Int_t kalbrLastLayer() const {return m_kalbrLastLayer;} 00062 Int_t kalecLastLayer() const {return m_kalecLastLayer;} 00063 //********************** 00064 00065 // Set 00066 void setTrackId(Int_t trackId) { m_trackId = trackId ;} 00067 void setId(Int_t id) { m_id = id ; } 00068 void setStatus(Int_t st) { m_status = st; } 00069 void setType(Int_t type) { m_type = type; } 00070 00071 void setStartPart(Int_t part) {m_startPart = part; } 00072 void setEndPart(Int_t part) {m_endPart = part; } 00073 void setBrLastLayer(Int_t layer) {m_brLastLayer = layer; } 00074 void setEcLastLayer(Int_t layer) {m_ecLastLayer = layer; } 00075 void setNumHits( Int_t numHits) { m_numHits = numHits; } 00076 void setNumLayers(Int_t numLayers) { m_numLayers = numLayers; } 00077 void setMaxHitsInLayer(Int_t maxHits) { m_maxHitsInLayer = maxHits; } 00078 00079 void setDepth( Double_t depth) { m_depth = depth; } 00080 void setChi2(Double_t chi2) { m_chi2 = chi2; } 00081 void setDof(Int_t dof) { m_dof = dof ; } 00082 void setRms(Double_t rms) { m_rms = rms ; } 00083 00084 void setXPos(Double_t x) { m_xPos = x; } 00085 void setYPos(Double_t y) { m_yPos = y; } 00086 void setZPos(Double_t z) { m_zPos = z; } 00087 00088 void setXPosSigma(Double_t x) { m_xPosSigma = x; } 00089 void setYPosSigma(Double_t y) { m_yPosSigma = y; } 00090 void setZPosSigma(Double_t z) { m_zPosSigma = z; } 00091 00092 void setPx( Double_t px) { m_px = px; } 00093 void setPy( Double_t py) { m_py = py; } 00094 void setPz( Double_t pz) { m_pz = pz; } 00095 00096 void setDistance( double dist){m_distance = dist; } 00097 void setDeltaPhi( double dphi){m_deltaPhi = dphi; } 00098 00099 //added by LI Chunhua 00100 void setkalRechi2(Double_t ch){m_kalrechi2=ch;} 00101 void setkalDof(Int_t f){m_kaldof = f;} 00102 void setkalDepth(Double_t de){m_kaldepth = de;} 00103 void setkalbrLastLayer(Int_t br){m_kalbrLastLayer = br;} 00104 void setkalecLastLayer(Int_t ec){m_kalecLastLayer = ec;} 00105 //****************** 00106 //void setVecHits(vector<Int_t>& vecHits) { m_vecHits = vecHits; } 00107 00108 00109 private: 00110 Int_t m_trackId; // Track ID wensp Add 2005-10-19 00111 Int_t m_id; // Muc Identifier 00112 Int_t m_status; // Muc Status 00113 Int_t m_type; // Method of judge? 00114 00115 Int_t m_startPart; // In which part does the start position of track locate 00116 Int_t m_endPart; // In which part does the end position of track locate 00117 Int_t m_brLastLayer; // Last layer with hits in barrel 00118 Int_t m_ecLastLayer; // Last layer with hits in endcap 00119 Int_t m_numHits; // Number of hits on track 00120 Int_t m_numLayers; // Number of layer with hits 00121 Int_t m_maxHitsInLayer; // Max number of hits in a layer 00122 00123 Double_t m_depth; // Depth of iron penetrated 00124 Double_t m_chi2; // Fit parameters 00125 Int_t m_dof; 00126 Double_t m_rms; 00127 00128 Double_t m_xPos; // x position of muc track vertex 00129 Double_t m_yPos; // y position of muc track vertex 00130 Double_t m_zPos; // z position of muc track vertex 00131 00132 Double_t m_xPosSigma; 00133 Double_t m_yPosSigma; 00134 Double_t m_zPosSigma; 00135 00136 Double_t m_px; // px on muc track vertex 00137 Double_t m_py; // py on muc track vertex 00138 Double_t m_pz; // pz on muc track vertex 00139 00140 Double_t m_distance; 00141 Double_t m_deltaPhi; 00142 00143 //vector<Int_t> m_vecHits; //// hit list of the track wensp Add 2005-10-20 00144 //added by LI Chunhua 00145 Double_t m_kalrechi2; 00146 Int_t m_kaldof; 00147 Double_t m_kaldepth; 00148 Int_t m_kalbrLastLayer; 00149 Int_t m_kalecLastLayer; 00150 00151 ClassDef(TMucTrack,3) 00152 }; 00153 00154 #endif