BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
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
class
BmnEcalDigitizer
:
public
FairTask
17
{
18
public
:
19
BmnEcalDigitizer
();
20
virtual
~BmnEcalDigitizer
();
21
virtual
InitStatus
Init
();
22
virtual
void
Exec
(
Option_t
* opt);
23
virtual
void
Print
(
Option_t
* option =
""
)
const
;
24
25
///
26
/// Read coordinates on ECAL cells from provided gepmetry file
27
/// If this file nod set try will be made to obtain it from FairGeoLoader
28
///
29
/// \param name - ECAL geometry file name
30
///
31
void
SetGeometryFileName
(
const
char
* name) {
fEcalGeometryFileName
= name; }
32
33
///
34
/// By default cell interaction point supposed to be in the center of the
35
/// cell volume. This param allows it to be shifted along of Z axis of the
36
/// volume.
37
/// Default value is 0
38
///
39
/// \param cm - Depth shift in cm
40
///
41
void
SetInteractionDepthShift
(
Double_t
cm) {
fDepthShift
= cm; }
42
43
///
44
/// If cell energy is less than threshold it wont be stored.
45
/// Default value is 10 MeV
46
///
47
/// \param MeV - cell threshold, MeV
48
///
49
void
SetThreshold
(
Float_t
MeV) {
fThreshold
= MeV; }
50
51
///
52
/// BmnEcalPoints with grater time will be ignored.
53
/// Default value is 1000 ns. Set 0 for no limit
54
///
55
/// \param ns - max allowed time in nanoseconds, 0 - no limit
56
///
57
void
SetMaxEcalPointTime
(
Float_t
ns) {
fMaxPointTime
= ns; }
58
59
///
60
/// Cell start time calculated as weighted average of all BmnEcalPoints
61
/// inside it. Cell peak time is just the start time with constant delay.
62
/// Default value is 5 ns
63
///
64
/// \param ns - delay between start and peak time
65
///
66
void
SetPeakTimeDelay
(
Float_t
ns) {
fPeakTimeDelay
= ns; }
67
68
///
69
/// Allows to take into account slowing of light propagation inside of
70
/// WLS fibers
71
///
72
/// \param sol - light propagation speed in cm/ns, 0 - don't apply
73
/// \param length - length of the WLS fiber (52 cm)
74
/// \param moduleLayerThickness - thikness of the layer in the module (0.195 cm)
75
///
76
void
SetFiber
(
Float_t
sol,
Float_t
length = 52.,
Float_t
moduleLayerThickness = .195)
77
{
78
fFiberSOL
= sol;
79
fFiberLength
= length;
80
fLayerThickness
= moduleLayerThickness;
81
}
82
83
private
:
84
int
LoadGeometry
();
85
86
const
char
*
fEcalGeometryFileName
=
nullptr
;
87
Float_t
fDepthShift
= 0.;
88
Float_t
fThreshold
= 10.;
89
Float_t
fMaxPointTime
= 1000.;
90
Float_t
fPeakTimeDelay
= 5.;
91
92
Float_t
fFiberSOL
= 0.;
// cm/ns (not used if zero)
93
Float_t
fFiberLength
= 52.;
// cm
94
Float_t
fLayerThickness
= 0.195;
// cm
95
96
BmnECALDigit
fCells
[1024];
97
const
Int_t
fCellsSize
=
sizeof
(
fCells
) /
sizeof
(
BmnECALDigit
);
98
99
TClonesArray
*
fArrayOfEcalPoints
;
// input
100
TClonesArray
*
fArrayOfEcalDigits
;
// output
101
102
ClassDef
(
BmnEcalDigitizer
, 0);
103
};
104
105
#endif
/* BMNECALDIGITIZER_H */
Int_t
int Int_t
Float_t
float Float_t
Double_t
double Double_t
Option_t
const char Option_t
ClassDef
#define ClassDef(name, id)
TClonesArray.h
BmnECALDigit
Definition
BmnECALDigit.h:48
BmnEcalDigitizer::SetFiber
void SetFiber(Float_t sol, Float_t length=52., Float_t moduleLayerThickness=.195)
Allows to take into account slowing of light propagation inside of WLS fibers.
Definition
BmnEcalDigitizer.h:76
BmnEcalDigitizer::fMaxPointTime
Float_t fMaxPointTime
Definition
BmnEcalDigitizer.h:89
BmnEcalDigitizer::SetInteractionDepthShift
void SetInteractionDepthShift(Double_t cm)
By default cell interaction point supposed to be in the center of the cell volume.
Definition
BmnEcalDigitizer.h:41
BmnEcalDigitizer::fFiberLength
Float_t fFiberLength
Definition
BmnEcalDigitizer.h:93
BmnEcalDigitizer::fDepthShift
Float_t fDepthShift
Definition
BmnEcalDigitizer.h:87
BmnEcalDigitizer::fEcalGeometryFileName
const char * fEcalGeometryFileName
Definition
BmnEcalDigitizer.h:86
BmnEcalDigitizer::LoadGeometry
int LoadGeometry()
Definition
BmnEcalDigitizer.cxx:130
BmnEcalDigitizer::SetPeakTimeDelay
void SetPeakTimeDelay(Float_t ns)
Cell start time calculated as weighted average of all BmnEcalPoints inside it.
Definition
BmnEcalDigitizer.h:66
BmnEcalDigitizer::Exec
virtual void Exec(Option_t *opt)
Definition
BmnEcalDigitizer.cxx:44
BmnEcalDigitizer::fArrayOfEcalPoints
TClonesArray * fArrayOfEcalPoints
Definition
BmnEcalDigitizer.h:99
BmnEcalDigitizer::Init
virtual InitStatus Init()
Definition
BmnEcalDigitizer.cxx:21
BmnEcalDigitizer::SetMaxEcalPointTime
void SetMaxEcalPointTime(Float_t ns)
BmnEcalPoints with grater time will be ignored.
Definition
BmnEcalDigitizer.h:57
BmnEcalDigitizer::BmnEcalDigitizer
BmnEcalDigitizer()
Definition
BmnEcalDigitizer.cxx:17
BmnEcalDigitizer::fLayerThickness
Float_t fLayerThickness
Definition
BmnEcalDigitizer.h:94
BmnEcalDigitizer::SetGeometryFileName
void SetGeometryFileName(const char *name)
Read coordinates on ECAL cells from provided gepmetry file If this file nod set try will be made to o...
Definition
BmnEcalDigitizer.h:31
BmnEcalDigitizer::Print
virtual void Print(Option_t *option="") const
Definition
BmnEcalDigitizer.cxx:107
BmnEcalDigitizer::~BmnEcalDigitizer
virtual ~BmnEcalDigitizer()
Definition
BmnEcalDigitizer.cxx:19
BmnEcalDigitizer::fArrayOfEcalDigits
TClonesArray * fArrayOfEcalDigits
Definition
BmnEcalDigitizer.h:100
BmnEcalDigitizer::fPeakTimeDelay
Float_t fPeakTimeDelay
Definition
BmnEcalDigitizer.h:90
BmnEcalDigitizer::fThreshold
Float_t fThreshold
Definition
BmnEcalDigitizer.h:88
BmnEcalDigitizer::SetThreshold
void SetThreshold(Float_t MeV)
If cell energy is less than threshold it wont be stored.
Definition
BmnEcalDigitizer.h:49
BmnEcalDigitizer::fFiberSOL
Float_t fFiberSOL
Definition
BmnEcalDigitizer.h:92
BmnEcalDigitizer::fCellsSize
const Int_t fCellsSize
Definition
BmnEcalDigitizer.h:97
BmnEcalDigitizer::fCells
BmnECALDigit fCells[1024]
Definition
BmnEcalDigitizer.h:96
FairTask
TClonesArray
BmnECALDigit.h
detectors
ecal
BmnEcalDigitizer.h
Generated on
for BmnRoot by
1.17.0