PandaRoot
PndCaloDraw.h
Go to the documentation of this file.
1 
9 #ifndef PndCaloDraw_H
10 #define PndCaloDraw_H
11 
12 #include "FairTask.h" // for FairTask, InitStatus
13 
14 //#include "FairTSBufferFunctional.h" // IWYU pragma: keep needed for cint
15 #include "FairDataSourceI.h"
16 
17 #include "Rtypes.h" // for Double_t, Int_t, Bool_t, etc
18 #include "TH2.h"
19 #include "TEveCaloData.h"
20 #include "TEveCalo.h"
21 
22 class FairBoxSet;
23 class TObject;
24 class TVector3;
25 class TClonesArray;
26 class FairEventManager;
27 class FairRootManager;
28 
29 class PndCaloDraw : public FairTask {
30 
31  public:
33  PndCaloDraw();
34 
40  PndCaloDraw(const char *name, FairDataSourceI *dataSource = nullptr);
41 
43  virtual ~PndCaloDraw();
44 
45  virtual Double_t GetTimeWindowPlus() { return fTimeWindowPlus; }
46  virtual Double_t GetTimeWindowMinus() { return fTimeWindowMinus; }
47 
48  virtual void SetTimeWindowMinus(Double_t val);
49  virtual void SetTimeWindowPlus(Double_t val);
50  virtual void SetStartTime(Double_t val) { fStartTime = val; }
51  virtual void UseEventTimeAsStartTime(Bool_t val = kTRUE) { fUseEventTime = val; }
52 
54  virtual void Exec(Option_t *option);
55 
56  FairBoxSet *CreateBoxSet();
57 
58  void Reset();
59 
60  protected:
61  virtual void SetParContainers();
62  virtual InitStatus Init();
64  virtual void Finish();
65 
66  virtual void FillHisto(TObject *obj);
67  virtual TVector3 GetVector(TObject *obj) = 0;
68  virtual Double_t GetEnergy(TObject *obj) = 0;
69 
70  TClonesArray *fList = nullptr;
71  FairEventManager *fEventManager = nullptr;
72  FairRootManager *fManager = nullptr;
73  TH2F *fCaloHisto = nullptr;
74  TEveCaloDataHist *fEveHist = nullptr;
75  TEveCalo3D *fCalo3D = nullptr;
76 
77  Double_t fTimeWindowPlus = -1.0;
78  Double_t fTimeWindowMinus = -1.0;
79  Double_t fStartTime = 0.;
80  Bool_t fUseEventTime = kFALSE;
81 
82  private:
83  PndCaloDraw(const PndCaloDraw &);
84  PndCaloDraw &operator=(const PndCaloDraw &);
85  FairDataSourceI *fDataSource = nullptr;
86 
87  ClassDef(PndCaloDraw, 2);
88 };
89 
90 #endif
void Reset()
virtual TVector3 GetVector(TObject *obj)=0
virtual Double_t GetTimeWindowPlus()
Definition: PndCaloDraw.h:45
virtual void SetStartTime(Double_t val)
Definition: PndCaloDraw.h:50
TClonesArray * fList
Definition: PndCaloDraw.h:70
FairBoxSet * CreateBoxSet()
TH2F * fCaloHisto
Definition: PndCaloDraw.h:73
virtual Double_t GetTimeWindowMinus()
Definition: PndCaloDraw.h:46
Double_t fStartTime
Definition: PndCaloDraw.h:79
virtual void Exec(Option_t *option)
virtual void SetParContainers()
virtual void SetTimeWindowMinus(Double_t val)
virtual ~PndCaloDraw()
virtual void FillHisto(TObject *obj)
Double_t fTimeWindowMinus
Definition: PndCaloDraw.h:78
virtual void UseEventTimeAsStartTime(Bool_t val=kTRUE)
Definition: PndCaloDraw.h:51
Double_t fTimeWindowPlus
Definition: PndCaloDraw.h:77
FairEventManager * fEventManager
Definition: PndCaloDraw.h:71
TEveCalo3D * fCalo3D
Definition: PndCaloDraw.h:75
TEveCaloDataHist * fEveHist
Definition: PndCaloDraw.h:74
virtual InitStatus Init()
Bool_t fUseEventTime
Definition: PndCaloDraw.h:80
virtual void Finish()
virtual void SetTimeWindowPlus(Double_t val)
virtual Double_t GetEnergy(TObject *obj)=0
FairRootManager * fManager
Definition: PndCaloDraw.h:72