BmnRoot
Loading...
Searching...
No Matches
BmnEcalDigitizer.h
Go to the documentation of this file.
1/*
2 * File: BmnEcalDigitizer.h
3 * Author: Petr Alekseev
4 *
5 * Created on 05.08.2020, 19:31
6 */
7
8#ifndef BMNECALDIGITIZER_H
9#define BMNECALDIGITIZER_H
10
11#include "BmnECALDigit.h"
12
13#include <FairTask.h>
14#include <TClonesArray.h>
15
16
17class BmnEcalDigitizer : public FairTask {
18public:
21 virtual InitStatus Init();
22 virtual void Exec(Option_t* opt);
23 virtual void Print(Option_t *option="") const;
24
31 void SetGeometryFileName(const char * name) {
32 fEcalGeometryFileName = name;
33 }
34
43 void SetInteractionDepthShift(Double_t cm) {
44 fDepthShift = cm;
45 }
46
53 void SetThreshold(Float_t MeV) { fThreshold = MeV; }
54
55
62 void SetMaxEcalPointTime(Float_t ns) {
63 fMaxPointTime = ns;
64 }
65
73 void SetPeakTimeDelay(Float_t ns) {
74 fPeakTimeDelay = ns;
75 }
76
85 void SetFiber(Float_t sol, Float_t length = 52., Float_t moduleLayerThickness = .195) {
86 fFiberSOL = sol;
87 fFiberLength = length;
88 fLayerThickness = moduleLayerThickness;
89 }
90
91private:
92
93 int LoadGeometry();
94
95 const char * fEcalGeometryFileName = nullptr;
96 Float_t fDepthShift = 0.;
97 Float_t fThreshold = 10.;
98 Float_t fMaxPointTime = 1000.;
99 Float_t fPeakTimeDelay = 5.;
100
101 Float_t fFiberSOL = 0.; // cm/ns (not used if zero)
102 Float_t fFiberLength = 52.; //cm
103 Float_t fLayerThickness = 0.195; //cm
104
105 BmnECALDigit fCells[1024];
106 const Int_t fCellsSize = sizeof(fCells)/sizeof(BmnECALDigit);
107
108 TClonesArray * fArrayOfEcalPoints; // input
109 TClonesArray * fArrayOfEcalDigits; // output
110
111 ClassDef(BmnEcalDigitizer,0);
112};
113
114#endif /* BMNECALDIGITIZER_H */
void SetFiber(Float_t sol, Float_t length=52., Float_t moduleLayerThickness=.195)
void SetInteractionDepthShift(Double_t cm)
void SetPeakTimeDelay(Float_t ns)
virtual void Exec(Option_t *opt)
void SetMaxEcalPointTime(Float_t ns)
void SetGeometryFileName(const char *name)
virtual ~BmnEcalDigitizer()
virtual InitStatus Init()
virtual void Print(Option_t *option="") const
void SetThreshold(Float_t MeV)