BOSS 7.0.5
BESIII Offline Software System
Loading...
Searching...
No Matches
Reconstruction/MdcPatRec/MdcTrkRecon/MdcTrkRecon-00-03-48/MdcTrkRecon/MdcTrack.h
Go to the documentation of this file.
1// MdcTrack.h
2// class to hold a drift chamber track; contains a TrkRecoTrk.
3
4#ifndef MDCTRACK_H
5#define MDCTRACK_H
6
7#include "MdcRecEvent/RecMdcTrack.h"
8#include "MdcRecEvent/RecMdcHit.h"
9class MdcSeg;
10class MdcSegListO;
11class MdcLayer;
12class BesAngle;
13class TrkRep;
14class TrkRecoTrk;
15class TrkExchangePar;
16class TrkContext;
17
18// Class definition
19class MdcTrack {
20public:
22 MdcTrack(int nsupers, const TrkExchangePar& par, double chisq,
23 TrkContext&, double trackT0);
25 bool operator==(const MdcTrack& tk) const;
26
27 TrkRecoTrk& track() {return *_theTrack;}
28 const TrkRecoTrk& track() const {return *_theTrack;}
29 void setTrack(TrkRecoTrk* trk) {_theTrack = trk;}
30 int hasCurled() const {return _haveCurled;}
31 const MdcLayer *firstLayer() const {return _firstLayer;}
32 const MdcLayer *lastLayer() const {return _lastLayer;}
33
34 void setHasCurled(bool c = true) {_haveCurled = c;}
35 void setFirstLayer(const MdcLayer *l) {_firstLayer = l;}
36 void setLastLayer(const MdcLayer *l) {_lastLayer = l;}
37
38 //projectToR ret -1 if no intersect
39 int projectToR(double radius, BesAngle &phiIntersect, int lCurl = 0) const ;
40 int projectToR(double radius, BesAngle &phiIntersect, double &arcLength,
41 int lCurl = 0) const;
42 //yzhang for store to TDS
43 void storeTrack(int trackId, RecMdcTrackCol* trackList, RecMdcHitCol* hitList,int tkStat);
44 //zhangy
45private:
46 TrkRecoTrk* _theTrack;
47 const MdcLayer *_firstLayer; // first layer known to have good hit on track
48 const MdcLayer *_lastLayer; // you figure it out
49 int _haveCurled; // includes hits past curl point
50
51 MdcTrack& operator= (const MdcTrack&);
52 MdcTrack(const MdcTrack&);
53};
54
55#endif
56
57
58
59
60
61
62
ObjectVector< RecMdcHit > RecMdcHitCol
ObjectVector< RecMdcTrack > RecMdcTrackCol
int projectToR(double radius, BesAngle &phiIntersect, double &arcLength, int lCurl=0) const
int projectToR(double radius, BesAngle &phiIntersect, int lCurl=0) const
bool operator==(const MdcTrack &tk) const
void storeTrack(int trackId, RecMdcTrackCol *trackList, RecMdcHitCol *hitList, int tkStat)
MdcTrack(int nsupers, const TrkExchangePar &par, double chisq, TrkContext &, double trackT0)
MdcTrack(TrkRecoTrk *aTrack)