BOSS 7.0.3
BESIII Offline Software System
Loading...
Searching...
No Matches
Reconstruction/TrkExtAlg/TrkExtAlg-00-00-64/TrkExtAlg/ExtMdcTrack.h
Go to the documentation of this file.
1//
2//File: ExtMdcTrack.h
3//Author: L.L.Wang
4//
5//Deccription: A class to get MDC reconstuction track,
6// and supply information to track extrapolation.
7// It is only a interface.
8//
9//History: 2005.7.4 created by L.L.Wang
10//
11
12#ifndef EXTMDCTRACK_H
13#define EXTMDCTRACK_H
14#include "CLHEP/Vector/ThreeVector.h"
15#include "CLHEP/Matrix/SymMatrix.h"
16#include "CLHEP/Geometry/Point3D.h"
17
18#ifndef ENABLE_BACKWARDS_COMPATIBILITY
20#endif
21#ifndef ENABLE_BACKWARDS_COMPATIBILITY
23#endif
24
25
26
27#include "MdcRecEvent/RecMdcTrack.h"
28#include "MdcRecEvent/RecMdcKalTrack.h"
29
30using namespace std;
31
32using namespace CLHEP;
33
34static const int NdimMdcErr(5);
35static const int NdimExtErr(6);
36static const int NumHelixPar(5);
37
38class ExtMdcTrack
39{
40 public:
41 ExtMdcTrack(void);//Construction.
42 ~ExtMdcTrack(void);//Destruction.
43
44 void SetMsgFlag(bool aFlag) {myMsgFlag=aFlag;};
45 bool SetMdcRecTrkCol(RecMdcTrackCol * aPointer);//Get RecMdcTrackCol from TDS.
46 bool SetMdcKalTrkCol(RecMdcKalTrackCol * aPointer);//Get RecMdcTrackCol from TDS.
47 bool SetParId(int pid) { myParID=pid; return true;};
48 bool GetOneGoodTrk();//Get a good MdcRecTrk.
49 bool ReadTrk(int pid);
50 int GetTrackID() {return myTrackID;}//Get RecMdcTrackl ID.
51 RecMdcTrack *GetMdcRecTrkPtr() const;//Get RecMdcTrackl pointer.
52 const Hep3Vector GetPosition() const;//Get coordinate of the track at the Mdc->Tof point.
53 const Hep3Vector GetMomentum() const;//Get the momentum of the track at the Mdc_>Tof point.
54 const HepSymMatrix GetErrorMatrix() const;//Get 6x6 (x,p)Err matrix at the Mdc_>Tof point.
55 double GetTrackLength() const;//Get the track length of the track at the Mdc->Tof point.
56 inline double GetTrkTof() const {return myTrkTof;};
57// double GetTOF() const;//Get the Tof of the track at the Mdc->Tof point.
58 double GetPt() const;//Get the pt of the track at the Mdc->Tof point.
59 double GetParticleCharge() const;//Get the charge of the track(+1,-1).
60
61 private:
62 void Convert();//Convert data due to unit problem.
63 bool myMsgFlag;
64 int myTrackID;
65 RecMdcTrackCol *myMdcTrackCol;
66 RecMdcTrackCol::iterator myMdcRecTrkIter;//Iterater of MdcRecTrk.
67 RecMdcKalTrackCol *myMdcKalTrackCol;
68 RecMdcKalTrackCol::iterator myMdcKalTrkIter;//Iterater of MdcRecTrk.
69 string myInputTrk;
70 int myParID;
71
72 HepVector myHelixPar;//Mdc reconstucted track's helix 5 parameters.
73 HepPoint3D myPivot;//Pivot point of the MdcRecTrk' helix.
74 HepSymMatrix myMdcErr;//Error matrix(5x5) of the MdcRecTrk's helix.
75 double myPhiTerm;//Phi angle of the MdcRecTrk's helix at the Mdc.
76 double myTrkLength;
77 double myTrkTof;
78 HepPoint3D myLPosition;
79// double myTrackLength[5];//Track length from Kalman fit.
80// string myParticleName;//Particle name used by GetTOF().
81};
82
83
84#endif
ObjectVector< RecMdcKalTrack > RecMdcKalTrackCol
ObjectVector< RecMdcTrack > RecMdcTrackCol
bool GetOneGoodTrk()
ExtMdcTrack(void)
double GetParticleCharge() const
double GetTrackLength() const
~ExtMdcTrack(void)
double GetPt() const
bool SetMdcKalTrkCol(RecMdcKalTrackCol *aPointer)
RecMdcTrack * GetMdcRecTrkPtr() const
bool SetMdcRecTrkCol(RecMdcTrackCol *aPointer)
const Hep3Vector GetPosition() const
bool ReadTrk(int pid)
const HepSymMatrix GetErrorMatrix() const
const Hep3Vector GetMomentum() const