BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Reconstruction/MdcPatRec/MdcTrkRecon/include/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/RecMdcHit.h"
8#include "MdcRecEvent/RecMdcTrack.h"
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, TrkContext&,
23 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
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)