00001 #ifndef RootEventData_TRecMdcKalHelixSeg_H 00002 #define RootEventData_TRecMdcKalHelixSeg_H 1 00003 00004 #include "TObject.h" 00005 #include <vector> 00006 00007 using namespace std; 00008 00009 class TRecMdcKalHelixSeg : public TObject { 00010 00011 public: 00012 00013 TRecMdcKalHelixSeg(); 00014 00015 ~TRecMdcKalHelixSeg (); 00016 00017 //extractors 00018 const Int_t getTrackId(void) const { return m_trackid; } 00019 const Int_t getFlagLR(void) const { return m_lr; } 00020 const UInt_t getMdcId() const { return m_mdcid; } 00021 const Double_t getTdc(void) const { return m_tdc; } 00022 const Double_t getAdc(void) const { return m_adc; } 00023 const Double_t getZhit(void) const { return m_zhit; } 00024 const Double_t getTof(void) const { return m_tof; } 00025 const Double_t getDocaIncl(void) const { return m_docaincl; } 00026 const Double_t getDocaExcl(void) const { return m_docaexcl; } 00027 const Double_t getDD(void) const { return m_dd; } 00028 const Double_t getEntra(void) const { return m_entra; } 00029 const Double_t getDT(void) const { return m_driftT; } 00030 // const Int_t getLayerId(void) const { return m_layerid; } 00031 // const Double_t getDrIncl(void) const {return m_drincl; } 00032 // const Double_t getFi0Incl(void) const {return m_phi0incl; } 00033 // const Double_t getCpaIncl(void) const {return m_kappaincl; } 00034 // const Double_t getDzIncl(void) const {return m_dzincl; } 00035 // const Double_t getTanlIncl(void) const {return m_tanlincl; } 00036 // const Double_t getDrExcl(void) const {return m_drexcl; } 00037 // const Double_t getFi0Excl(void) const {return m_phi0excl; } 00038 // const Double_t getCpaExcl(void) const {return m_kappaexcl; } 00039 // const Double_t getDzExcl(void) const {return m_dzexcl; } 00040 // const Double_t getTanlExcl(void) const {return m_tanlexcl; } 00041 const Double_t getHelixIncl(Int_t i) const {return m_helixincl[i]; } 00042 // const Double_t getErrorIncl(Int_t i, Int_t j) const {return m_errorincl[i][j]; } 00043 const Double_t getHelixExcl(Int_t i) const {return m_helixexcl[i]; } 00044 // const Double_t getErrorExcl(Int_t i, Int_t j) const {return m_errorexcl[i][j]; } 00045 00046 //modifiers 00047 void setTrackId(Int_t trkid) { m_trackid = trkid; } 00048 void setFlagLR(Int_t lr) { m_lr = lr; } 00049 void setMdcId( UInt_t mdcid ) { m_mdcid = mdcid; } 00050 void setTdc(Double_t tdc) { m_tdc = tdc; } 00051 void setAdc(Double_t adc) { m_adc = adc; } 00052 void setZhit(Double_t zhit) { m_zhit = zhit; } 00053 void setTof(Double_t tof) { m_tof = tof; } 00054 void setDocaIncl(Double_t docaincl) { m_docaincl = docaincl; } 00055 void setDocaExcl(Double_t docaexcl) { m_docaexcl = docaexcl; } 00056 void setDD(Double_t dd) { m_dd = dd ; } 00057 void setEntra(Double_t entra) { m_entra = entra; } 00058 void setDT(Double_t driftT) { m_driftT = driftT; } 00059 // void setLayerId(Int_t layerid) { m_layerid = layerid; } 00060 // void setDrIncl (Double_t drincl) { m_drincl = drincl; } 00061 // void setFi0Incl (Double_t phi0incl) { m_phi0incl = phi0incl; } 00062 // void setCpaIncl (Double_t kappaincl) { m_kappaincl = kappaincl; } 00063 // void setDzIncl (Double_t dzincl) { m_dzincl = dzincl; } 00064 // void setTanlIncl (Double_t tanlincl) { m_tanlincl = tanlincl; } 00065 // void setDrExcl (Double_t drexcl) { m_drexcl = drexcl; } 00066 // void setFi0Excl (Double_t phi0excl) { m_phi0excl = phi0excl; } 00067 // void setCpaExcl (Double_t kappaexcl) { m_kappaexcl = kappaexcl; } 00068 // void setDzExcl (Double_t dzexcl) { m_dzexcl = dzexcl; } 00069 // void setTanlExcl (Double_t tanlexcl) { m_tanlexcl = tanlexcl; } 00070 void setHelixIncl(const Double_t helix[5]) { 00071 for(Int_t i=0; i<5; i++) m_helixincl[i] = helix[i]; 00072 } 00073 void setHelixExcl (const Double_t helix[5]) { 00074 for(Int_t i=0; i<5; i++) m_helixexcl[i] = helix[i]; 00075 } 00076 // void setErrorIncl(const Double_t error[5][5]){ 00077 // for (Int_t i= 0 ; i<5 ; i++) 00078 // for (Int_t j=0; j<=i; j++){ 00079 // m_errorincl[i][j] = error[i][j]; 00080 // m_errorincl[j][i] = error[i][j]; 00081 // } 00082 // } 00083 // void setErrorExcl (const Double_t error[5][5]){ 00084 // for(Int_t i=0; i<5; i++) { 00085 // for (Int_t j=0; j<=i; j++){ 00086 // m_errorexcl[i][j] = error[i][j]; 00087 // m_errorexcl[j][i] = error[i][j]; 00088 // } 00089 // } 00090 // } 00091 00092 private: 00093 Int_t m_trackid; // id of track containing this hit,if this hit 00094 // belongs to no track, set as -1; 00095 Int_t m_lr; //flag indicating left or right 0:left 1:right 2:ambig 00096 UInt_t m_mdcid; // MDC identifier 00097 Double_t m_tdc; // corrected TDC 00098 Double_t m_adc; //corrected ADC 00099 Double_t m_zhit; // z coordinate of the hit 00100 Double_t m_tof; // time of flight 00101 Double_t m_docaincl; // distance of closesest approach for helix in the cell 00102 Double_t m_docaexcl; 00103 Double_t m_dd; // drift distance 00104 Double_t m_entra; // entrance angle in azimuth 00105 Double_t m_driftT; // drift time 00106 // Int_t m_layerid; // layer number 00107 // Double_t m_drincl; 00108 // Double_t m_phi0incl; 00109 // Double_t m_kappaincl; 00110 // Double_t m_dzincl; 00111 // Double_t m_tanlincl; 00112 // Double_t m_drexcl; 00113 // Double_t m_phi0excl; 00114 // Double_t m_kappaexcl; 00115 // Double_t m_dzexcl; 00116 // Double_t m_tanlexcl; 00117 Double_t m_helixincl[5]; 00118 // Double_t m_errorincl[5][5]; 00119 Double_t m_helixexcl[5]; 00120 // Double_t m_errorexcl[5][5]; 00121 00122 ClassDef(TRecMdcKalHelixSeg,3) 00123 }; 00124 00125 #endif