ForwardTracking  1.10.0
RecoTrack.h
1 #ifndef RecoTrack_h
2 #define RecoTrack_h
3 
4 #include "EVENT/Track.h"
5 #include "lcio.h"
6 #include "MarlinTrk/IMarlinTrkSystem.h"
7 #include "MarlinTrk/IMarlinTrack.h"
8 
9 using namespace lcio;
10 
11 
22 enum TrackType { COMPLETE , COMPLETE_PLUS , INCOMPLETE , INCOMPLETE_PLUS , GHOST , LOST };
23 
24 
25 class TrueTrack;
26 
27 
38 class RecoTrack{
39 
40 
41 public:
42 
43  RecoTrack( Track* track, MarlinTrk::IMarlinTrkSystem* trkSystem ): _track( track ), _trkSystem( trkSystem )
44  { _type = GHOST; }
45 
46  Track* getTrack(){ return _track; }
47 
48 
49  TrackType getType() const { return _type; }
50 
51  void setType( TrackType type ){ _type = type; }
52 
53 
55  std::vector< const TrueTrack* > getTrueTracks() const { return _trueTracks; }
56 
58  void addTrueTrack( TrueTrack* trueTrack ){ _trueTracks.push_back( trueTrack ); }
59 
60 
61 
62  std::string getRecoTrackInfo() const;
63 
64 
66  static std::string cellIDInfo( TrackerHit* hit );
67 
69  static std::string positionInfo( TrackerHit* hit );
70 
71 
72 
73 
74 protected:
75 
76  Track* _track;
77  std::vector< const TrueTrack* > _trueTracks;
78  TrackType _type;
79 
80 
81  MarlinTrk::IMarlinTrkSystem* _trkSystem; // for fitting
82 
83 
84 
85 
86 
87 };
88 
89 
90 
91 #endif
92 
A class to make linking reconstructed tracks and true tracks easier.
Definition: RecoTrack.h:38
std::vector< const TrueTrack * > getTrueTracks() const
Definition: RecoTrack.h:55
void addTrueTrack(TrueTrack *trueTrack)
adds a true track
Definition: RecoTrack.h:58
A class to make linking reconstructed tracks and true tracks easier.
Definition: TrueTrack.h:21