PandaRoot
PndCaloDraw.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 
21 #ifndef PndCaloDraw_H
22 #define PndCaloDraw_H
23 
24 #include "FairTask.h" // for FairTask, InitStatus
25 
26 //#include "FairTSBufferFunctional.h" // IWYU pragma: keep needed for cint
27 #include "FairDataSourceI.h"
28 
29 #include "Rtypes.h" // for Double_t, Int_t, Bool_t, etc
30 #include "TH2.h"
31 #include "TEveCaloData.h"
32 #include "TEveCalo.h"
33 
34 class FairBoxSet;
35 class TObject;
36 class TVector3;
37 class TClonesArray;
38 class FairEventManager;
39 class FairRootManager;
40 
41 class PndCaloDraw : public FairTask {
42 
43  public:
45  PndCaloDraw();
46 
52  PndCaloDraw(const char *name, FairDataSourceI *dataSource = nullptr);
53 
55  virtual ~PndCaloDraw();
56 
57  virtual Double_t GetTimeWindowPlus() { return fTimeWindowPlus; }
58  virtual Double_t GetTimeWindowMinus() { return fTimeWindowMinus; }
59 
60  virtual void SetTimeWindowMinus(Double_t val);
61  virtual void SetTimeWindowPlus(Double_t val);
62  virtual void SetStartTime(Double_t val) { fStartTime = val; }
63  virtual void UseEventTimeAsStartTime(Bool_t val = kTRUE) { fUseEventTime = val; }
64 
66  virtual void Exec(Option_t *option);
67 
68  FairBoxSet *CreateBoxSet();
69 
70  void Reset();
71 
72  protected:
73  virtual void SetParContainers();
74  virtual InitStatus Init();
76  virtual void Finish();
77 
78  virtual void FillHisto(TObject *obj);
79  virtual TVector3 GetVector(TObject *obj) = 0;
80  virtual Double_t GetEnergy(TObject *obj) = 0;
81 
82  TClonesArray *fList = nullptr;
83  FairEventManager *fEventManager = nullptr;
84  FairRootManager *fManager = nullptr;
85  TH2F *fCaloHisto = nullptr;
86  TEveCaloDataHist *fEveHist = nullptr;
87  TEveCalo3D *fCalo3D = nullptr;
88 
89  Double_t fTimeWindowPlus = -1.0;
90  Double_t fTimeWindowMinus = -1.0;
91  Double_t fStartTime = 0.;
92  Bool_t fUseEventTime = kFALSE;
93 
94  private:
95  PndCaloDraw(const PndCaloDraw &);
96  PndCaloDraw &operator=(const PndCaloDraw &);
97  FairDataSourceI *fDataSource = nullptr;
98 
99  ClassDef(PndCaloDraw, 2);
100 };
101 
102 #endif
void Reset()
virtual TVector3 GetVector(TObject *obj)=0
virtual Double_t GetTimeWindowPlus()
Definition: PndCaloDraw.h:57
virtual void SetStartTime(Double_t val)
Definition: PndCaloDraw.h:62
TClonesArray * fList
Definition: PndCaloDraw.h:82
FairBoxSet * CreateBoxSet()
TH2F * fCaloHisto
Definition: PndCaloDraw.h:85
virtual Double_t GetTimeWindowMinus()
Definition: PndCaloDraw.h:58
Double_t fStartTime
Definition: PndCaloDraw.h:91
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:90
virtual void UseEventTimeAsStartTime(Bool_t val=kTRUE)
Definition: PndCaloDraw.h:63
Double_t fTimeWindowPlus
Definition: PndCaloDraw.h:89
FairEventManager * fEventManager
Definition: PndCaloDraw.h:83
TEveCalo3D * fCalo3D
Definition: PndCaloDraw.h:87
TEveCaloDataHist * fEveHist
Definition: PndCaloDraw.h:86
virtual InitStatus Init()
Bool_t fUseEventTime
Definition: PndCaloDraw.h:92
virtual void Finish()
virtual void SetTimeWindowPlus(Double_t val)
virtual Double_t GetEnergy(TObject *obj)=0
FairRootManager * fManager
Definition: PndCaloDraw.h:84