00001 #ifndef MDCAliRECTRK_H 00002 #define MDCAliRECTRK_H 00003 00004 #include "MdcAlignAlg/MdcAliRecHit.h" 00005 00006 #include "EventModel/Event.h" 00007 #include "RawEvent/RawDataUtil.h" 00008 00009 #include "MdcRecEvent/RecMdcTrack.h" 00010 #include "MdcRecEvent/RecMdcKalTrack.h" 00011 #include "MdcRecEvent/RecMdcHit.h" 00012 #include "ReconEvent/ReconEvent.h" 00013 #include "Identifier/Identifier.h" 00014 #include "Identifier/MdcID.h" 00015 00016 #include "CLHEP/Matrix/Vector.h" 00017 #include "CLHEP/Matrix/SymMatrix.h" 00018 00019 00020 class MdcAliRecTrk { 00021 public: 00022 ~MdcAliRecTrk(); 00023 00024 void setRecTrk(RecMdcTrackCol::iterator it_trk); 00025 void setKalTrk(RecMdcKalTrackCol::iterator it_trk); 00026 int getStat() const {return m_stat;} 00027 double getDr() const { return m_dr; } 00028 double getPhi0() const { return m_phi0; } 00029 double getKappa() const { return m_kappa; } 00030 double getDz() const { return m_dz; } 00031 double getTanLamda() const { return m_tanl; } 00032 HepVector getHelix() const { return m_helix; } 00033 HepSymMatrix getHelixErr() const { return m_helixerr; } 00034 double getPt() const { return m_pt; } 00035 double getP() const { return m_p; } 00036 double getChisq() const { return m_chisq; } 00037 int getNHits() const { return m_nhits; } 00038 MdcAliRecHit* getRecHit(int index) const { return m_rechit[index]; } 00039 00040 private: 00041 double m_dr; 00042 double m_phi0; 00043 double m_kappa; 00044 double m_dz; 00045 double m_tanl; 00046 HepVector m_helix; 00047 HepSymMatrix m_helixerr; 00048 double m_pt; 00049 double m_p; 00050 double m_chisq; 00051 int m_stat;//added by lut 00052 int m_nhits; 00053 std::vector<MdcAliRecHit*> m_rechit; 00054 static const double m_df; 00055 }; 00056 00057 #endif /* MDCAliRECTRK_H */