/
PndRecoKalmanFit.h
76 lines (60 loc) · 2.38 KB
/
PndRecoKalmanFit.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
//-----------------------------------------------------------
// File and Version Information:
// $Id$
//
// Description:
// Kalman Filter for single tracks
//
// Environment:
// Software developed for the PANDA Detector at FAIR.
//
// Author List:
// Stefano Spataro, UNI Torino //
//-----------------------------------------------------------
#ifndef PNDRECOKALMANFIT_HH
#define PNDRECOKALMANFIT_HH
// Base Class Headers ----------------
#include "TNamed.h"
#include "TString.h"
// Collaborating Class Headers ------
#include "FairGeanePro.h"
#include "PndTrack.h"
#include "GFKalman.h"
// Collaborating Class Declarations --
class GFRecoHitFactory;
class GFKalman;
class PndRecoKalmanFit : public TNamed
{
public:
// Constructors/Destructors ---------
PndRecoKalmanFit();
~PndRecoKalmanFit();
// Modifiers -----------------------
void SetGeane(Bool_t opt = kTRUE) { fUseGeane = opt; }
void SetPropagateToIP(Bool_t opt = kTRUE) { fPropagateToIP = opt;}
void SetPerpPlane(Bool_t opt = kTRUE) { fPerpPlane = opt; }
void SetNumIterations(Int_t num) { fNumIt = num; }
void SetTrackRep(Int_t num) { fTrackRep = num; }
void SetVerbose(Int_t verb) { fVerbose = verb; }
void SetMvdBranchName(const TString& name) { fMvdBranchName = name; }
void SetCentralTrackerBranchName(const TString& name) { fCentralTrackerBranchName = name; }
// Operations ----------------------
Bool_t Init();
PndTrack* Fit(PndTrack *tBefore, Int_t PDG, bool store_track_parameterization = false);
GFRecoHitFactory* GetRecoHitFactory() { return fTheRecoHitFactory;};
private:
// Private Data Members ------------
GFRecoHitFactory* fTheRecoHitFactory;
GFKalman fGenFitter;
FairGeanePro* fPro; //! Geane Propagator
TString fMvdBranchName; //! Name of the TCA for MVD
TString fCentralTrackerBranchName;//! Name of the TCA for central tracker
Bool_t fUseGeane; //! Flag to use Geane
Bool_t fPropagateToIP;//! Flag to propagate to the interaction point
Bool_t fPerpPlane; //! Flag to use as initial plane the one perpendicular to the track
Int_t fNumIt; //! Number of iterations
Short_t fTrackRep; //! (0) GeaneTrackRep, 1 RKTrackRep
Int_t fVerbose; //! Verbose level
ClassDef(PndRecoKalmanFit,0);
};
#endif