ForwardTracking  1.10.0
EndcapTrack.h
1 #ifndef EndcapTrack_h
2 #define EndcapTrack_h
3 
4 #include "IMPL/TrackImpl.h"
5 #include "MarlinTrk/IMarlinTrkSystem.h"
6 #include "MarlinTrk/IMarlinTrack.h"
7 
8 #include <vector>
9 
10 #include "IEndcapHit.h"
11 #include "KiTrack/ITrack.h"
12 
13 #include "Tools/Fitter.h"
14 
15 
16 namespace KiTrackMarlin{
17 
18 
21  class EndcapTrack : public ITrack {
22 
23  public:
24 
27  EndcapTrack( MarlinTrk::IMarlinTrkSystem* trkSystem );
28 
32  EndcapTrack( std::vector< IEndcapHit* > hits , MarlinTrk::IMarlinTrkSystem* trkSystem );
33  EndcapTrack( const EndcapTrack& f );
34  EndcapTrack & operator= (const EndcapTrack & f);
35 
36 
39  TrackImpl* getLcioTrack(){ return ( _lcioTrack );}
40 
41 
42  void addHit( IEndcapHit* hit );
43 
44  virtual double getNdf() const { return _lcioTrack->getNdf(); }
45  virtual double getChi2() const { return _lcioTrack->getChi2(); }
46  virtual double getChi2Prob() const { return _chi2Prob; }
47  //virtual double getPT() const ;
48  /*
49  virtual std::vector< IHit* > getHits() const
50  { std::vector<IHit*> hits;
51  for(unsigned i=0; i<_hits.size();i++) hits.push_back( _hits[i] );
52  return hits; }
53  */
54  virtual std::vector< IHit* > getHits() const
55  { std::vector<IHit*> hits;
56  for(unsigned i=0; i<_hits.size();i++) hits.push_back( _hits[i] );
57  return hits; }
58 
59  virtual double getQI() const;
60 
61 
64  virtual void fit() throw( FitterException );
65 
66  virtual ~EndcapTrack(){ delete _lcioTrack; }
67 
68 
69 
70 
71  protected:
72 
75  std::vector< IEndcapHit* > _hits;
76 
77  IMPL::TrackImpl* _lcioTrack;
78 
79  // for fitting
80  MarlinTrk::IMarlinTrkSystem* _trkSystem;
81 
82 
83  double _chi2Prob;
84 
85 
86  };
87 
88 
89 
90 }
91 
92 
93 #endif
94 
95 
A class for ITracks containing an lcio::Track at core.
Definition: EndcapTrack.h:21
An interface for a hit for the ILD using an lcio TrackerHit as basis.
Definition: IEndcapHit.h:22
EndcapTrack(MarlinTrk::IMarlinTrkSystem *trkSystem)
Definition: EndcapTrack.cc:29
TrackImpl * getLcioTrack()
Definition: EndcapTrack.h:39
virtual void fit()
Fits the track and sets chi2, Ndf etc.
Definition: EndcapTrack.cc:113
std::vector< IEndcapHit * > _hits
the hits the track consists of
Definition: EndcapTrack.h:75