/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Reconstruction/TrkExtAlg/TrkExtAlg-00-00-64/TrkExtAlg/ExtMdcTrack.h

Go to the documentation of this file.
00001 //
00002 //File: ExtMdcTrack.h
00003 //Author: L.L.Wang
00004 //
00005 //Deccription: A class to get MDC reconstuction track,
00006 //             and supply information to  track extrapolation.
00007 //             It is only a interface.
00008 //             
00009 //History: 2005.7.4 created by L.L.Wang
00010 //
00011 
00012 #ifndef EXTMDCTRACK_H
00013 #define EXTMDCTRACK_H
00014 #include "CLHEP/Vector/ThreeVector.h"
00015 #include "CLHEP/Matrix/SymMatrix.h"
00016 #include "CLHEP/Geometry/Point3D.h"
00017 
00018 #ifndef ENABLE_BACKWARDS_COMPATIBILITY
00019 typedef HepGeom::Point3D<double> HepPoint3D;
00020 #endif
00021 #ifndef ENABLE_BACKWARDS_COMPATIBILITY
00022 typedef HepGeom::Vector3D<double> HepVector3D;
00023 #endif
00024       
00025 
00026 
00027 #include "MdcRecEvent/RecMdcTrack.h"
00028 #include "MdcRecEvent/RecMdcKalTrack.h"
00029 
00030 using namespace std;
00031 
00032 using namespace CLHEP;
00033 
00034 static const int NdimMdcErr(5);
00035 static const int NdimExtErr(6);
00036 static const int NumHelixPar(5);
00037 
00038 class ExtMdcTrack
00039 {
00040         public:
00041                 ExtMdcTrack(void);//Construction.
00042                 ~ExtMdcTrack(void);//Destruction.
00043 
00044                 void SetMsgFlag(bool aFlag) {myMsgFlag=aFlag;};
00045                 bool SetMdcRecTrkCol(RecMdcTrackCol * aPointer);//Get RecMdcTrackCol from TDS.
00046                 bool SetMdcKalTrkCol(RecMdcKalTrackCol * aPointer);//Get RecMdcTrackCol from TDS.
00047                 bool SetParId(int pid) { myParID=pid; return true;};
00048                 bool GetOneGoodTrk();//Get a good MdcRecTrk.
00049                 bool ReadTrk(int pid);
00050                 int GetTrackID() {return myTrackID;}//Get RecMdcTrackl ID.
00051                 RecMdcTrack *GetMdcRecTrkPtr() const;//Get RecMdcTrackl pointer.
00052                 const Hep3Vector GetPosition() const;//Get coordinate of the track at the Mdc->Tof point.
00053                 const Hep3Vector GetMomentum() const;//Get the momentum of the track at the Mdc_>Tof point.
00054                 const HepSymMatrix GetErrorMatrix() const;//Get 6x6 (x,p)Err matrix at the Mdc_>Tof point.
00055                 double GetTrackLength() const;//Get the track length of the track at the Mdc->Tof point.
00056                 inline double GetTrkTof() const {return myTrkTof;};
00057 //              double GetTOF() const;//Get the Tof of the track at the Mdc->Tof point.
00058                 double GetPt() const;//Get the pt of the track at the Mdc->Tof point.
00059                 double GetParticleCharge() const;//Get the charge of the track(+1,-1).
00060 
00061         private:
00062                 void Convert();//Convert data due to unit problem.
00063                 bool myMsgFlag;
00064                 int myTrackID;
00065                 RecMdcTrackCol *myMdcTrackCol;
00066                 RecMdcTrackCol::iterator myMdcRecTrkIter;//Iterater of MdcRecTrk.
00067                 RecMdcKalTrackCol *myMdcKalTrackCol;
00068                 RecMdcKalTrackCol::iterator myMdcKalTrkIter;//Iterater of MdcRecTrk.
00069                 string myInputTrk;
00070                 int myParID;
00071                 
00072                 HepVector myHelixPar;//Mdc reconstucted track's helix 5 parameters.
00073                 HepPoint3D myPivot;//Pivot point of the MdcRecTrk' helix.
00074                 HepSymMatrix myMdcErr;//Error matrix(5x5) of the MdcRecTrk's helix.
00075                 double myPhiTerm;//Phi angle of the MdcRecTrk's helix at the Mdc.
00076                 double myTrkLength;
00077                 double myTrkTof;
00078                 HepPoint3D myLPosition;
00079 //              double myTrackLength[5];//Track length from Kalman fit.
00080 //              string myParticleName;//Particle name used by GetTOF().
00081 };
00082 
00083 
00084 #endif

Generated on Tue Nov 29 23:14:12 2016 for BOSS_7.0.2 by  doxygen 1.4.7