MarlinTPC  1.2.0
TrackFitterSimpleHelix.h
1 #ifndef TRACKFITTERSIMPLEHELIX_H
2 #define TRACKFITTERSIMPLEHELIX_H
3 
4 #include <marlin/Processor.h>
5 #include <lcio.h>
6 #include <string>
7 #include "TrackFitterBase.h"
8 #include <EVENT/Track.h>
9 #include <IMPL/TrackImpl.h>
10 #include <EVENT/TrackerHit.h>
11 
12 
13 namespace marlintpc
14 {
22 {
23 public:
24 
27 
28  virtual ~TrackFitterSimpleHelix() {}
29 
31  static TrackFitterBase * getInstance(LCParameters const * parameters);
32 
33  virtual std::string getRevision() const;
34 
36  virtual unsigned char getFitterType() const;
37 
39  virtual IMPL::TrackImpl *fitTrack(EVENT::Track const * seedTrack) const;
40 
41 
42 protected:
43  //helper function to perform the linear regression in the xy-plane
44  EVENT::DoubleVec doXYCircularFit(EVENT::Track const * seedTrack) const;
45 
46  //helper function to perform the linear regression in the sz-plane
47  EVENT::DoubleVec doRegressionSZ(EVENT::Track const * seedTrack) const;
48 
49  //helper function to calculate the point of closest approach of the track
50  EVENT::DoubleVec calculatePCA(EVENT::Track const * seedTrack) const;
51 
52  //helper function to calculate the arc length
53  double calculateS(EVENT::TrackerHit * aHit, EVENT::DoubleVec pca, EVENT::Track const * seedTrack ) const;
54 
55 };
56 } // namespace marlintpc
57 #endif // TRACKFITTERSIMPLEHELIX_H
virtual unsigned char getFitterType() const
Information what fitter implementation this is.
Definition: TrackFitterSimpleHelix.cc:41
virtual IMPL::TrackImpl * fitTrack(EVENT::Track const *seedTrack) const
The implementation using the fitter function with all errors set to 1.
Definition: TrackFitterSimpleHelix.cc:46
The TrackFitterBase is a virtual class from which the actual track fitters are derived.
Definition: TrackFitterBase.h:44
virtual std::string getRevision() const
Get the revision of the actual fitter implementation.
Definition: TrackFitterSimpleHelix.cc:36
TrackFitterSimpleHelix()
Constructor for the simple helix fitter, initializes the track fitter with the initial values...
Definition: TrackFitterSimpleHelix.cc:31
static TrackFitterBase * getInstance(LCParameters const *parameters)
Well defined interface to create a new instance of the track fitter.
Definition: TrackFitterSimpleHelix.cc:25
Definition: TrackFitterSimpleHelix.h:21