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 SetTrackBranchBarrel(TString track_branch) { fTrackBranchBarrel = track_branch; };
40  void SetTrackBranchForward(TString track_branch) { fTrackBranchForward = track_branch; };
41  void SetIsBarrel(Bool_t is_barrel) { fIsBarrel = is_barrel; };
42 
43  Int_t GetNTracksTotal() { return ((fTrackBarrel != nullptr) ? fTrackBarrel->GetEntriesFast() : 0) + ((fTrackForward != nullptr) ? fTrackForward->GetEntriesFast() : 0); };
44 
45  virtual void Register() {};
46 
52  Bool_t SetMcTrack(FairRootManager *manager);
53 
60  Bool_t GetInfo(Int_t track_index, PndPidCandidate *pidCand);
61 
68  Int_t GetNTracks();
69 
77  PndTrack *GetTrack(Int_t index);
78 
84  PndMCTrack *GetMcTrack(Int_t index);
85 
86  Bool_t SetTrackArrays(FairRootManager *manager);
87 
88  protected:
89  Bool_t fUsePropagator = kFALSE;
91  Int_t fPidHyp = 0;
92  Int_t fVerbose = 0;
93 
94  TString fTrackBranchBarrel = "";
95  TString fTrackBranchForward = "";
96  TClonesArray *fTrackBarrel = nullptr;
97  TClonesArray *fTrackForward = nullptr;
98  TClonesArray *fMcTrack = nullptr;
99  Bool_t fBackPropagate = kFALSE;
100  Bool_t fIsBarrel = kTRUE;
101 
103 };
104 
105 #endif // PID_TRACK_INFO_H
virtual void Register()
Bool_t SetTrackArrays(FairRootManager *manager)
void SetTrackBranchBarrel(TString track_branch)
Int_t fVerbose
Verbosity level.
void SetIsBarrel(Bool_t is_barrel)
TClonesArray * fTrackForward
void SetBackPropagate(Bool_t back_propagate)
TString fTrackBranchForward
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)
void SetTrackBranchForward(TString track_branch)
Int_t fPidHyp
Particle Id hypothesis (pdg particle code)
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)
TClonesArray * fTrackBarrel
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()
TString fTrackBranchBarrel