EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Fitter.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file Fitter.h
1 
7 #ifndef PHGENFIT2_FITTER_H
8 #define PHGENFIT2_FITTER_H
9 
10 #include "Track.h"
11 
12 #include <GenFit/KalmanFitter.h>
13 #include <GenFit/Track.h>
14 
15 class TGeoManager;
16 class PHField;
17 
18 namespace PHGenFit2
19 {
20  class Fitter
21  {
22  public:
23  Fitter(TGeoManager* tgeo_manager, PHField* field);
24  ~Fitter();
25 
28 
29  void processTrack5(PHGenFit2::Track* track) { return processTrack5(track->getGenFitTrack()); }
30  void processTrack1(PHGenFit2::Track* track) { return processTrack1(track->getGenFitTrack()); }
31 
32  void processTrack5(genfit::Track* track) { return _fitter5->processTrack(track); }
33  void processTrack1(genfit::Track* track) { return _fitter1->processTrack(track); }
34 
35  void processTrackPartially(PHGenFit2::Track* track, int startId = 0, int endId = -1)
36  {
37  return processTrackPartially(track->getGenFitTrack(), startId, endId);
38  }
39  void processTrackPartially(genfit::Track* track, int startId = 0, int endId = -1)
40  {
41  return _fitter1->processTrackPartially(track, track->getCardinalRep(), startId, endId);
42  }
43 
44  private:
45  // TGeoManager* _tgeo_manager;
46  // PHField* _field;
47  genfit::KalmanFitter* _fitter5; // KalmanFitter with maxIterations = 5
48  genfit::KalmanFitter* _fitter1; // KalmanFitter with maxIterations = 1
49 
50  }; //class Fitter
51 
52 } // namespace PHGenFit2
53 
54 #endif