BOSS 7.1.2
BESIII Offline Software System
Loading...
Searching...
No Matches
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
9class MdcSeg;
10class MdcSegListO;
11class MdcLayer;
12class BesAngle;
13class TrkRep;
14class TrkRecoTrk;
15class TrkExchangePar;
16class TrkContext;
17
18// Class definition
19class MdcTrack {
20public:
21 MdcTrack(TrkRecoTrk* aTrack);
22 MdcTrack(int nsupers, const TrkExchangePar& par, double chisq,
23 TrkContext&, double trackT0);
24 ~MdcTrack();
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
Definition RecMdcHit.h:99
ObjectVector< RecMdcTrack > RecMdcTrackCol
Definition RecMdcTrack.h:79
void setFirstLayer(const MdcLayer *l)
Definition MdcTrack.h:35
void setTrack(TrkRecoTrk *trk)
Definition MdcTrack.h:29
int projectToR(double radius, BesAngle &phiIntersect, int lCurl=0) const
Definition MdcTrack.cxx:63
TrkRecoTrk & track()
Definition MdcTrack.h:27
const TrkRecoTrk & track() const
Definition MdcTrack.h:28
bool operator==(const MdcTrack &tk) const
Definition MdcTrack.cxx:135
int hasCurled() const
Definition MdcTrack.h:30
void setHasCurled(bool c=true)
Definition MdcTrack.h:34
void storeTrack(int trackId, RecMdcTrackCol *trackList, RecMdcHitCol *hitList, int tkStat)
Definition MdcTrack.cxx:143
const MdcLayer * firstLayer() const
Definition MdcTrack.h:31
const MdcLayer * lastLayer() const
Definition MdcTrack.h:32
MdcTrack(TrkRecoTrk *aTrack)
Definition MdcTrack.cxx:40
void setLastLayer(const MdcLayer *l)
Definition MdcTrack.h:36