00001 #ifndef RootEventData_TRecMucTrack_H 00002 #define RootEventData_TRecMucTrack_H 1 00003 00004 #include "TObject.h" 00005 #include <vector> 00006 00007 using namespace std; 00008 00009 class TRecMucTrack : public TObject { 00010 00011 public: 00012 00013 TRecMucTrack(); 00014 00015 ~TRecMucTrack (); 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 Double_t distance()const { return m_distance;} 00041 Double_t deltaPhi()const { return m_deltaPhi;} 00042 00043 Double_t xPos() const { return m_xPos; } // position on the start of track in muc (vertex) 00044 Double_t yPos() const { return m_yPos; } 00045 Double_t zPos() const { return m_zPos; } 00046 00047 Double_t xPosSigma() const { return m_xPosSigma; } // position on the start of track in muc (vertex) 00048 Double_t yPosSigma() const { return m_yPosSigma; } 00049 Double_t zPosSigma() const { return m_zPosSigma; } 00050 00051 Double_t px() const { return m_px; } // momentum on the start of track in muc 00052 Double_t py() const { return m_py; } 00053 Double_t pz() const { return m_pz; } 00054 00055 vector<Int_t> vecHits() const { return m_vecHits ;} 00056 vector<Int_t> expHits() const { return m_expHits ;} 00057 vector<Float_t> distHits() const { return m_distHits ;} 00058 00059 // Set 00060 void setTrackId(Int_t trackId) { m_trackId = trackId ;} 00061 void setId(Int_t id) { m_id = id ; } 00062 void setStatus(Int_t st) { m_status = st; } 00063 void setType(Int_t type) { m_type = type; } 00064 00065 void setStartPart(Int_t part) {m_startPart = part; } 00066 void setEndPart(Int_t part) {m_endPart = part; } 00067 void setBrLastLayer(Int_t layer) {m_brLastLayer = layer; } 00068 void setEcLastLayer(Int_t layer) {m_ecLastLayer = layer; } 00069 void setNumHits( Int_t numHits) { m_numHits = numHits; } 00070 void setNumLayers(Int_t numLayers) { m_numLayers = numLayers; } 00071 void setMaxHitsInLayer(Int_t maxHits) { m_maxHitsInLayer = maxHits; } 00072 00073 void setDepth( Double_t depth) { m_depth = depth; } 00074 void setChi2(Double_t chi2) { m_chi2 = chi2; } 00075 void setDof(Int_t dof) { m_dof = dof ; } 00076 void setRms(Double_t rms) { m_rms = rms ; } 00077 void setDistance(Double_t dist) { m_distance = dist ; } 00078 void setDeltaPhi(Double_t dphi){ m_deltaPhi = dphi; } 00079 00080 void setXPos(Double_t x) { m_xPos = x; } 00081 void setYPos(Double_t y) { m_yPos = y; } 00082 void setZPos(Double_t z) { m_zPos = z; } 00083 00084 void setXPosSigma(Double_t x) { m_xPosSigma = x; } 00085 void setYPosSigma(Double_t y) { m_yPosSigma = y; } 00086 void setZPosSigma(Double_t z) { m_zPosSigma = z; } 00087 00088 void setPx( Double_t px) { m_px = px; } 00089 void setPy( Double_t py) { m_py = py; } 00090 void setPz( Double_t pz) { m_pz = pz; } 00091 00092 void setVecHits(vector<Int_t>& vecHits) { m_vecHits = vecHits; } 00093 void setExpHits(vector<Int_t>& expHits) { m_expHits = expHits; } 00094 void setDistHits(vector<Float_t>& distHits) { m_distHits = distHits; } 00095 void setTRecMucTrack(const TRecMucTrack* muctrk){ 00096 m_trackId = muctrk->trackId(); 00097 m_id = muctrk->id(); 00098 m_status = muctrk->status(); 00099 m_type = muctrk->type(); 00100 m_startPart = muctrk->startPart(); 00101 m_endPart = muctrk->endPart(); 00102 m_brLastLayer = muctrk->brLastLayer(); 00103 m_ecLastLayer = muctrk->ecLastLayer(); 00104 m_numHits = muctrk->numHits(); 00105 m_numLayers = muctrk->numLayers(); 00106 m_maxHitsInLayer = muctrk->maxHitsInLayer(); 00107 m_depth =muctrk->depth(); 00108 m_chi2 = muctrk->chi2(); 00109 m_dof = muctrk->dof(); 00110 m_rms = muctrk->rms(); 00111 m_xPos = muctrk->xPos(); 00112 m_yPos = muctrk->yPos(); 00113 m_zPos = muctrk->zPos(); 00114 m_xPosSigma=muctrk->xPosSigma(); 00115 m_yPosSigma=muctrk->yPosSigma(); 00116 m_zPosSigma=muctrk->zPosSigma(); 00117 m_px = muctrk->px(); 00118 m_py = muctrk->py(); 00119 m_pz = muctrk->pz(); 00120 m_distance = muctrk->distance(); 00121 m_deltaPhi = muctrk->deltaPhi(); 00122 m_vecHits = muctrk->vecHits(); 00123 m_expHits = muctrk->expHits(); 00124 m_distHits = muctrk->distHits(); 00125 } 00126 private: 00127 Int_t m_trackId; // Track ID wensp Add 2005-10-19 00128 Int_t m_id; // Muc Identifier 00129 Int_t m_status; // Muc Status 00130 Int_t m_type; // Method of judge? 00131 00132 Int_t m_startPart; // In which part does the start position of track locate 00133 Int_t m_endPart; // In which part does the end position of track locate 00134 Int_t m_brLastLayer; // Last layer with hits in barrel 00135 Int_t m_ecLastLayer; // Last layer with hits in endcap 00136 Int_t m_numHits; // Number of hits on track 00137 Int_t m_numLayers; // Number of layer with hits 00138 Int_t m_maxHitsInLayer; // Max number of hits in a layer 00139 00140 Double_t m_depth; // Depth of iron penetrated 00141 Double_t m_chi2; // Fit parameters 00142 Int_t m_dof; 00143 Double_t m_rms; 00144 00145 Double_t m_xPos; // x position of muc track vertex 00146 Double_t m_yPos; // y position of muc track vertex 00147 Double_t m_zPos; // z position of muc track vertex 00148 00149 Double_t m_xPosSigma; // Sigma of x position of muc track vertex 00150 Double_t m_yPosSigma; // Sigma of y position of muc track vertex 00151 Double_t m_zPosSigma; // Sigma of z position of muc track vertex 00152 00153 00154 Double_t m_px; // px on muc track vertex 00155 Double_t m_py; // py on muc track vertex 00156 Double_t m_pz; // pz on muc track vertex 00157 00158 Double_t m_distance; // distance match of ext track with inner layer of Muc 00159 Double_t m_deltaPhi; // delta phi of mdc track and Muc hit in first layer 00160 00161 vector<Int_t> m_vecHits; 00162 vector<Int_t> m_expHits; 00163 vector<Float_t> m_distHits; 00164 00165 ClassDef(TRecMucTrack,3) 00166 }; 00167 00168 #endif