PandaRoot
PndTrackDraw.h
Go to the documentation of this file.
1 
12 #ifndef PNDTRACKDRAW_H
13 #define PNDTRACKDRAW_H
14 
15 #include "FairTask.h"
16 #include "TEveTrackPropagator.h"
17 #include "TEveElement.h"
18 
19 #include "TEveArrow.h"
20 #include "TString.h"
21 #include "FairGeanePro.h"
22 
23 #include "FairRootManager.h"
24 
25 #include "PndTrackCandDraw.h"
26 #include <vector>
27 class TEveTrackList;
28 class FairEventManager;
29 class TObjArray;
30 
31 class PndTrackDraw : public FairTask {
32 
33  public:
37  explicit PndTrackDraw(Bool_t propagation = kFALSE);
38 
44  explicit PndTrackDraw(const char *name, Bool_t propagation = kFALSE, Int_t iVerbose = 1);
45 
47  virtual ~PndTrackDraw();
48 
50  void SetVerbose(Int_t iVerbose) { fVerbose = iVerbose; }
52  virtual void Exec(Option_t *option);
53  virtual InitStatus Init();
54 
55  void Reset();
56  virtual Double_t GetTimeWindowPlus() { return fTimeWindowPlus; }
57  virtual Double_t GetTimeWindowMinus() { return fTimeWindowMinus; }
58 
63  virtual void SetTimeWindowMinus(Double_t val);
68  virtual void SetTimeWindowPlus(Double_t val);
69 
70  protected:
71  TEveTrackList *GetTrGroup(Int_t pid);
72  void PropagateTrack(FairTrackParP &trackPar, Int_t pidHypo, Int_t color = -1, TEveElement *group = 0);
73  void PropagateTrackHelix(FairTrackParP &trackPar, Int_t pidHypo, Int_t color = -1, TEveElement *group = 0);
74 
75  private:
76  TClonesArray *fPndTrackList = nullptr;
77  TEveTrackPropagator *fTrPr = nullptr;
78  FairEventManager *fEventManager = nullptr;
79  TObjArray *fEveTrList = nullptr;
80  TString fEvent;
81  TEveTrackList *fTrList = nullptr;
82 
83  // TEveElementList *fTrackCont;
84  FairGeanePro *fPro = nullptr;
85  // FairRootManager* fManager;
86  PndTrackCandDraw *fTrackCandDraw = nullptr;
87  std::vector<TEveArrow *> fArrows;
88  Bool_t fDoPropagation;
89 
90  TEveElementList *fListOfTracks = nullptr;
91 
92  Double_t MinEnergyLimit = -1.0;
93  Double_t MaxEnergyLimit = -1.0;
94  Double_t PEnergy = -1.0;
95 
96  BinaryFunctor *fStartFunctor = nullptr;
97  BinaryFunctor *fStopFunctor = nullptr;
98 
99  Double_t fTimeWindowPlus = -1.0;
100  Double_t fTimeWindowMinus = -1.0;
101  Double_t fStartTime = -1.0;
102  Bool_t fUseEventTime;
103 
104  ClassDef(PndTrackDraw, 1);
105 };
106 
107 #endif
virtual void SetTimeWindowMinus(Double_t val)
virtual void SetTimeWindowPlus(Double_t val)
TEveTrackList * GetTrGroup(Int_t pid)
void PropagateTrackHelix(FairTrackParP &trackPar, Int_t pidHypo, Int_t color=-1, TEveElement *group=0)
Task to display PndTrackCand&#39;s in FairEventDisplay.
virtual ~PndTrackDraw()
void PropagateTrack(FairTrackParP &trackPar, Int_t pidHypo, Int_t color=-1, TEveElement *group=0)
virtual InitStatus Init()
virtual Double_t GetTimeWindowMinus()
Definition: PndTrackDraw.h:57
void SetVerbose(Int_t iVerbose)
Definition: PndTrackDraw.h:50
Display PndTrack&#39;s in FairEventDisplay.
Definition: PndTrackDraw.h:31
PndTrackDraw(Bool_t propagation=kFALSE)
virtual Double_t GetTimeWindowPlus()
Definition: PndTrackDraw.h:56
virtual void Exec(Option_t *option)