PandaRoot
PndPidTrackInfo.h
Go to the documentation of this file.
1 #ifndef PID_TRACK_INFO__H
2 #define PID_TRACK_INFO__H
3 
4 #include "TString.h"
5 #include "TClonesArray.h"
6 
7 #include "FairPropagator.h"
8 #include "PndPropagator.h"
9 #include "FairGeane.h"
10 #include "FairRootManager.h"
11 
12 #include "PndTrack.h"
13 #include "PndMCTrack.h"
14 #include "PndPidCandidate.h"
15 
16 class TGeant3;
17 
27  public:
32  virtual ~PndPidTrackInfo();
33 
34  void SetUsePropagator(Bool_t use_propagator) { fUsePropagator = use_propagator; };
35  void SetPropagator(PndPropagator *propagator) { fPropagator = propagator; };
36  void SetPidHypo(Int_t pid_hyp) { fPidHyp = pid_hyp; };
37  void SetVerbose(Int_t verbose) { fVerbose = verbose; };
38  void SetBackPropagate(Bool_t back_propagate) { fBackPropagate = back_propagate; };
39  void SetTrackBranch(TString track_branch) { fTrackBranch = track_branch; };
40 
41  Int_t GetNTracksTotal() { return ((fTrack != nullptr) ? fTrack->GetEntriesFast() : 0);};
42 
43  virtual void Register() {};
44 
50  Bool_t SetMcTrack(FairRootManager *manager);
51 
58  Bool_t GetInfo(Int_t track_index, PndPidCandidate *pidCand);
59 
66  Int_t GetNTracks();
67 
75  PndTrack *GetTrack(Int_t index);
76 
82  PndMCTrack *GetMcTrack(Int_t index);
83 
84  Bool_t SetTrackArrays(FairRootManager *manager);
85 
86  protected:
87  Bool_t fUsePropagator = kFALSE;
89  Int_t fPidHyp = 0;
90  Int_t fVerbose = 0;
91 
92  TString fTrackBranch = "";
93  TClonesArray *fTrack = nullptr;
94  TClonesArray *fMcTrack = nullptr;
95  Bool_t fBackPropagate = kFALSE;
96  Bool_t fIsBarrel = kTRUE;
97 
99 };
100 
101 #endif // PID_TRACK_INFO__H
virtual void Register()
Bool_t SetTrackArrays(FairRootManager *manager)
Int_t fVerbose
Verbosity level.
TClonesArray * fTrack
void SetBackPropagate(Bool_t back_propagate)
virtual ~PndPidTrackInfo()
Default destructor.
Base class for accessing PID track information.
void SetPropagator(PndPropagator *propagator)
Bool_t GetInfo(Int_t track_index, PndPidCandidate *pidCand)
Include track information in PidCandidate.
void SetUsePropagator(Bool_t use_propagator)
Int_t fPidHyp
Particle Id hypothesis (pdg particle code)
void SetTrackBranch(TString track_branch)
PndMCTrack * GetMcTrack(Int_t index)
Get track from MC track TClonesArrays.
Bool_t SetMcTrack(FairRootManager *manager)
Set McTrack TClonesArray.
void SetPidHypo(Int_t pid_hyp)
void SetVerbose(Int_t verbose)
Bool_t fUsePropagator
kTRUE to use propagator like PndGeanePro.
TClonesArray * fMcTrack
PndPidTrackInfo()
Default constructor.
Propagator interface class for PandaRoot.
Definition: PndPropagator.h:52
ClassDef(PndPidTrackInfo, 1)
PndTrack * GetTrack(Int_t index)
Get track from barrel or foward track TClonesArrays.
PndPropagator * fPropagator
The propagator.
Int_t GetNTracks()
Get number of tracks in barrel or forward detector.
Int_t GetNTracksTotal()