00001 #ifndef MDCTRACKUTIL_H 00002 #define MDCTRACKUTIL_H 00003 #include "MdcGeomSvc/MdcGeomSvc.h" 00004 #include "MagneticField/IMagneticFieldSvc.h" 00005 #include "CLHEP/Matrix/Vector.h" 00006 #include "CLHEP/Matrix/SymMatrix.h" 00007 00008 class MdcTrackUtil{ 00009 00010 public: 00011 MdcTrackUtil(); 00012 ~MdcTrackUtil(){}; 00013 static MdcTrackUtil* instance(); 00014 00015 int nLayerTrackPassed(const HepVector helix); 00016 int nLayerTrackPassed(const double helix[5]); 00017 HepVector patRecPar2BesPar(const HepVector& helixPar); 00018 HepSymMatrix patRecErr2BesErr(const HepSymMatrix& err); 00019 private: 00020 static MdcTrackUtil* _myself; 00021 00022 MdcGeomSvc* m_mdcGeomSvc; 00023 IMagneticFieldSvc* m_pIMF; 00024 double Bz; 00025 00026 }; 00027 #endif