er  dev
ERGadastDigitizer.h
1 // -------------------------------------------------------------------------
2 // ----- ERGadastDigitizer header file -----
3 // ----- Created 03/15 by V.Schetinin -----
4 // -------------------------------------------------------------------------
5 
6 #ifndef ERGadastDigitizer_H
7 #define ERGadastDigitizer_H
8 
9 #include "TRandom3.h"
10 #include "TStopwatch.h"
11 #include "TH1F.h"
12 #include "TClonesArray.h"
13 
14 #include "FairTask.h"
15 
16 #include "ERGadastCsIDigi.h"
17 #include "ERGadastLaBrDigi.h"
18 #include "ERGadastDigiPar.h"
19 #include "ERGadastSetup.h"
20 
21 class TObjectArray;
22 class TH1F;
23 class TH2F;
24 class TF1;
25 class TRandom;
26 
27 class ERGadastDigitizer : public FairTask {
28 
29 public:
32 
36  ERGadastDigitizer(Int_t verbose);
37 
40 
42  virtual InitStatus Init();
43 
45  virtual void Exec(Option_t* opt);
46 
48  virtual void Finish();
49 
51  virtual void Reset();
52 
54  void SetCsILC(Float_t lc){fCsILC = lc;}
55  void SetCsIEdepError(Float_t a, Float_t b, Float_t c) {fCsIEdepErrorA = a;fCsIEdepErrorB = b;fCsIEdepErrorC = c;}
56  void SetCsITimeError(Float_t a) {fCsITimeErrorA = a;}
57  void SetLaBrLC(Float_t lc){fLaBrLC = lc;}
58  void SetLaBrEdepError(Float_t a, Float_t b, Float_t c) {fLaBrEdepErrorA = a;fLaBrEdepErrorB = b;fLaBrEdepErrorC = c;}
59  void SetLaBrTimeError(Float_t a) {fLaBrTimeErrorA = a;}
60  void SetCsIElossThreshold(Float_t treshold){fCsIElossThreshold = treshold;}
61  void SetLaBrElossThreshold(Float_t treshold){fLaBrElossThreshold = treshold;}
62 
63 
66 protected:
67  //Digitization parameters
69  //Input arrays
70  TClonesArray *fGadastCsIPoints;
71  TClonesArray *fGadastLaBrPoints;
72 
73  ERGadastSetup* fSetup;
74 
75  //Output arrays
76  TClonesArray *fGadastCsIDigi;
77  TClonesArray *fGadastLaBrDigi;
78 
79  //light collection
80  Float_t fCsILC;
81  Float_t fCsIEdepErrorA,fCsIEdepErrorB,fCsIEdepErrorC;
82  Float_t fCsITimeErrorA;
83  Float_t fLaBrLC;
84  Float_t fLaBrEdepErrorA,fLaBrEdepErrorB,fLaBrEdepErrorC;
85  Float_t fLaBrTimeErrorA;
86 
87  Float_t fCsIElossThreshold;
88  Float_t fLaBrElossThreshold;
89 protected:
90 
91  ERGadastCsIDigi* AddCsIDigi(Float_t Edep,Int_t wall,Int_t block, Int_t cell);
92  ERGadastLaBrDigi* AddLaBrDigi(Float_t Edep, Int_t cell);
93 
94 private:
95  virtual void SetParContainers();
96 
97  ClassDef(ERGadastDigitizer,1)
98 };
99 
100 #endif
virtual void Exec(Option_t *opt)
void SetCsILC(Float_t lc)
virtual InitStatus Init()
ERGadastDigiPar * fDigiPar