PandaRoot
PndSttIsochroneDraw.h
Go to the documentation of this file.
1 
11 #ifndef PndSttIsochroneDraw_H
12 #define PndSttIsochroneDraw_H
13 
14 #include "FairTask.h"
15 #include "TEveTrackPropagator.h"
16 #include "TEveElement.h"
17 #include "TEveBoxSet.h"
18 
19 #include "TEveArrow.h"
20 #include "TString.h"
21 #include "FairGeanePro.h"
22 
23 #include "FairRootManager.h"
24 #include "FairDataSourceI.h"
25 
26 #include "PndTrackCandDraw.h"
27 #include "PndGeoSttPar.h"
28 #include <vector>
29 class TEveTrackList;
30 class FairEventManager;
31 class TObjArray;
32 
33 class PndSttIsochroneDraw : public FairTask {
34 
35  public:
38 
44  PndSttIsochroneDraw(TString name, FairDataSourceI *dataSource = nullptr, Bool_t propagation = kFALSE, Int_t iVerbose = 1);
45 
47  virtual ~PndSttIsochroneDraw();
48 
50  void SetVerbose(Int_t iVerbose) { fVerbose = iVerbose; }
52  virtual void Exec(Option_t *option);
53  virtual InitStatus Init();
54  virtual void SetParContainers();
55 
57  virtual void Finish();
58  void Reset();
59  TEveTrackList *GetTrGroup(Int_t pid);
60  virtual Double_t GetTimeWindowPlus() { return fTimeWindowPlus; }
61  virtual Double_t GetTimeWindowMinus() { return fTimeWindowMinus; }
62 
63  virtual void SetTimeWindowMinus(Double_t val);
64  virtual void SetTimeWindowPlus(Double_t val);
65 
66  virtual void UseIsochroneTime() { fUseIsochroneTime = kTRUE; }
67 
68 
69  private:
70 
71  Double_t fTimeWindowPlus = -1.0;
72  Double_t fTimeWindowMinus = -1.0;
73  Double_t fStartTime = -1.0;
74  Bool_t fUseEventTime = kTRUE;
75  Bool_t fUseIsochroneTime = kFALSE;
76 
77  TClonesArray *fSttHitArray = nullptr;
78  TClonesArray *fSttTubeArray = nullptr;
79 
80  PndGeoSttPar *fSttParameters = nullptr;
81 
82  FairEventManager *fEventManager = nullptr;
83  TObjArray *fEveTrList = nullptr;
84  TString fEvent = nullptr;
85  TEveBoxSet *fListOfIsochrones = nullptr;
86  TEveBoxSet *fListOfTiltedIsochrones = nullptr;
87  TEveBoxSet *fListOfParallelIsochrones = nullptr;
88  // TEveElementList *fTrackCont;
89 
90  // PndMCDataCrawler* fCrawler;
91  TBranch *fEventHeaderBranch = nullptr;
92  FairDataSourceI *fDataSource = nullptr;
93  TString fBranchName = "STTHit";
94 
95  ClassDef(PndSttIsochroneDraw, 1);
96 };
97 
98 #endif
TEveTrackList * GetTrGroup(Int_t pid)
virtual void SetTimeWindowPlus(Double_t val)
virtual void SetParContainers()
virtual void Exec(Option_t *option)
virtual Double_t GetTimeWindowPlus()
Class to display stt hits as isochrone tubes in the FairEventDisplay.
virtual void UseIsochroneTime()
virtual InitStatus Init()
virtual ~PndSttIsochroneDraw()
void SetVerbose(Int_t iVerbose)
virtual Double_t GetTimeWindowMinus()
virtual void Finish()
virtual void SetTimeWindowMinus(Double_t val)