FairRoot
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FairBoxSetDraw.h
Go to the documentation of this file.
1 /********************************************************************************
2  * Copyright (C) 2014 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
3  * *
4  * This software is distributed under the terms of the *
5  * GNU Lesser General Public Licence (LGPL) version 3, *
6  * copied verbatim in the file "LICENSE" *
7  ********************************************************************************/
8 // -------------------------------------------------------------------------
9 // ----- FairBoxSetDraw header file -----
10 // ----- Created 26/03/09 by T. Stockmanns -----
11 // -------------------------------------------------------------------------
12 
24 #ifndef FAIRBOXSETDRAW_H
25 #define FAIRBOXSETDRAW_H
26 
27 #include "FairDataSourceI.h"
28 #include "FairTSBufferFunctional.h" // IWYU pragma: keep needed for cint
29 #include "FairTask.h" // for FairTask, InitStatus
30 
31 #include <Rtypes.h> // for Double_t, Int_t, Bool_t, etc
32 
33 class FairBoxSet;
34 class FairEventManager;
35 class FairRootManager;
36 class TObject;
37 class TVector3;
38 class TClonesArray;
39 
40 class FairBoxSetDraw : public FairTask
41 {
42  public:
45 
51  FairBoxSetDraw(const char* name, FairDataSourceI* dataSource, Int_t iVerbose = 1);
52 
58  FairBoxSetDraw(const char* name, Int_t iVerbose = 1);
59 
61  virtual ~FairBoxSetDraw();
62 
63  virtual Double_t GetTimeWindowPlus() { return fTimeWindowPlus; }
64  virtual Double_t GetTimeWindowMinus() { return fTimeWindowMinus; }
65 
67  virtual void SetVerbose(Int_t iVerbose) { fVerbose = iVerbose; };
68  virtual void SetBoxDimensions(Double_t x, Double_t y, Double_t z)
69  {
70  fX = x;
71  fY = y;
72  fZ = z;
73  }
74 
75  virtual void SetTimeWindowMinus(Double_t val);
76  virtual void SetTimeWindowPlus(Double_t val);
77  // virtual void SetStartTime(Double_t val) { fStartTime = val; }
78  // virtual void UseEventTimeAsStartTime(Bool_t val = kTRUE) { fUseEventTime = val; }
79 
81  virtual void Exec(Option_t* option);
82 
84 
85  void Reset();
86 
87  protected:
88  Int_t fVerbose; // Verbosity level
89  virtual void SetParContainers();
90  virtual InitStatus Init();
92  virtual void Finish();
93 
94  virtual TVector3 GetVector(TObject* obj) = 0;
95  virtual Int_t GetValue(TObject* obj, Int_t i);
96  virtual void AddBoxes(FairBoxSet* set, TObject* obj, Int_t i = 0);
97 
99  FairBoxSet* fq = nullptr;
100  Double_t fX{0.3};
101  Double_t fY{0.3};
102  Double_t fZ{0.3};
103 
104  Double_t fTimeWindowPlus{0.};
105  Double_t fTimeWindowMinus{0.};
107 
108  private:
110  FairBoxSetDraw& operator=(const FairBoxSetDraw&);
111 
112  ClassDef(FairBoxSetDraw, 1);
113 };
114 
115 #endif
FairEventManager * fEventManager
virtual void Exec(Option_t *option)
virtual void SetVerbose(Int_t iVerbose)
virtual Int_t GetValue(TObject *obj, Int_t i)
InitStatus
Definition: FairTask.h:33
virtual void SetBoxDimensions(Double_t x, Double_t y, Double_t z)
virtual ~FairBoxSetDraw()
FairDataSourceI * fDataSource
Double_t fTimeWindowPlus
virtual TVector3 GetVector(TObject *obj)=0
virtual void Finish()
virtual void SetParContainers()
FairBoxSet * CreateBoxSet()
Abstract interface class to handle different input data for event and timebased data.
virtual void SetTimeWindowMinus(Double_t val)
virtual void AddBoxes(FairBoxSet *set, TObject *obj, Int_t i=0)
virtual Double_t GetTimeWindowMinus()
Double_t fTimeWindowMinus
virtual InitStatus Init()
virtual Double_t GetTimeWindowPlus()
virtual void SetTimeWindowPlus(Double_t val)
FairBoxSet * fq