00001 #ifndef RootEventData_TRecMdcHit_H 00002 #define RootEventData_TRecMdcHit_H 1 00003 00004 #include "TObject.h" 00005 #include <vector> 00006 00007 using namespace std; 00008 00009 class TRecMdcHit : public TObject { 00010 00011 public: 00012 00013 TRecMdcHit(); 00014 00015 ~TRecMdcHit (); 00016 00017 // is this hit grouped to any track? 00018 const Bool_t isGrouped(void) const { return m_isGrouped; } 00019 //extractors 00020 const Int_t getId(void) const { return m_id; } 00021 const Int_t getTrkId(void) const { return m_trkid; } 00022 const Double_t getDriftDistLeft(void) const { return m_ddl; } 00023 const Double_t getDriftDistRight(void) const { return m_ddr ; } 00024 const Double_t getErrDriftDistLeft(void) const { return m_erddl; } 00025 const Double_t getErrDriftDistRight(void) const { return m_erddr; } 00026 const Double_t getChisqAdd(void) const { return m_pChisq; } 00027 const Int_t getFlagLR(void) const { return m_lr; } 00028 const Int_t getStat(void) const { return m_stat; } 00029 const UInt_t getMdcId() const { return m_mdcid; } 00030 const Double_t getTdc(void) const { return m_tdc; } 00031 const Double_t getAdc(void) const { return m_adc; } 00032 const Double_t getDriftT(void) const { return m_driftT; } 00033 const Double_t getDoca(void) const { return m_doca; } 00034 const Double_t getEntra(void) const { return m_entra; } 00035 const Double_t getZhit(void) const { return m_zhit; } 00036 const Double_t getFltLen(void) const { return m_fltLen; } 00037 00038 //modifiers 00039 void setIsGrouped(Bool_t isGrouped) { m_isGrouped = isGrouped;} 00040 void setId(Int_t id) { m_id = id; } 00041 void setTrkId(Int_t trkid) { m_trkid = trkid; } 00042 void setDriftDistLeft(Double_t ddl) { m_ddl = ddl; } 00043 void setDriftDistRight(Double_t ddr) { m_ddr = ddr ; } 00044 void setErrDriftDistLeft(Double_t erddl) { m_erddl = erddl; } 00045 void setErrDriftDistRight(Double_t erddr) { m_erddr = erddr; } 00046 void setChisqAdd(Double_t pChisq) { m_pChisq = pChisq; } 00047 void setFlagLR(Int_t lr) { m_lr = lr; } 00048 void setStat(Int_t stat) { m_stat = stat; } 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 setDriftT(Double_t driftT) { m_driftT = driftT; } 00053 void setDoca(Double_t doca) { m_doca = doca; } 00054 void setEntra(Double_t entra) { m_entra = entra; } 00055 void setZhit(Double_t zhit) { m_zhit = zhit; } 00056 void setFltLen(Double_t fltLen) { m_fltLen = fltLen; } 00057 void setTRecMdcHit(const TRecMdcHit *mdchit){ 00058 m_isGrouped = mdchit->isGrouped(); 00059 m_id = mdchit->getId(); 00060 m_trkid = mdchit->getTrkId(); 00061 m_ddl = mdchit->getDriftDistLeft(); 00062 m_ddr = mdchit->getDriftDistRight(); 00063 m_erddl = mdchit->getErrDriftDistLeft(); 00064 m_erddr = mdchit->getErrDriftDistRight(); 00065 m_pChisq = mdchit->getChisqAdd(); 00066 m_lr = mdchit->getFlagLR(); 00067 m_stat = mdchit->getStat(); 00068 m_mdcid = mdchit->getMdcId(); 00069 m_tdc = mdchit->getTdc(); 00070 m_adc = mdchit->getAdc(); 00071 m_driftT = mdchit->getDriftT(); 00072 m_doca = mdchit->getDoca(); 00073 m_entra = mdchit->getEntra(); 00074 m_zhit = mdchit->getZhit(); 00075 m_fltLen = mdchit->getFltLen(); 00076 } 00077 00078 private: 00079 Bool_t m_isGrouped; 00080 Int_t m_id; 00081 Int_t m_trkid; // id of track containing this hit,if this hit 00082 // belongs to no track, set as -1; 00083 Double_t m_ddl; // drift distance left 00084 Double_t m_ddr; // drift distance right 00085 Double_t m_erddl; // error of drift distance left 00086 Double_t m_erddr; // error of drift distance right 00087 Double_t m_pChisq; //contribution to chisquare 00088 Int_t m_lr; //flag indicating left or right 0:left 1:right 2:ambig 00089 Int_t m_stat; // status flag 00090 UInt_t m_mdcid; // MDC identifier 00091 Double_t m_tdc; // corrected TDC 00092 Double_t m_adc; //corrected ADC 00093 Double_t m_driftT; // drift time 00094 Double_t m_doca; // distance of closesest approach for helix in the cell 00095 Double_t m_entra; // entrance angle in azimuth 00096 Double_t m_zhit; // z coordinate of the hit 00097 Double_t m_fltLen; // flight length of this hit 00098 00099 ClassDef(TRecMdcHit,3) 00100 }; 00101 00102 #endif