BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnEcalDigitizer Class Reference

#include <BmnEcalDigitizer.h>

Inheritance diagram for BmnEcalDigitizer:
Collaboration diagram for BmnEcalDigitizer:

Public Member Functions

 BmnEcalDigitizer ()
virtual ~BmnEcalDigitizer ()
virtual InitStatus Init ()
virtual void Exec (Option_t *opt)
virtual void Print (Option_t *option="") const
void SetGeometryFileName (const char *name)
 Read coordinates on ECAL cells from provided gepmetry file If this file nod set try will be made to obtain it from FairGeoLoader.
void SetInteractionDepthShift (Double_t cm)
 By default cell interaction point supposed to be in the center of the cell volume.
void SetThreshold (Float_t MeV)
 If cell energy is less than threshold it wont be stored.
void SetMaxEcalPointTime (Float_t ns)
 BmnEcalPoints with grater time will be ignored.
void SetPeakTimeDelay (Float_t ns)
 Cell start time calculated as weighted average of all BmnEcalPoints inside it.
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.
 BmnEcalDigitizer ()
virtual ~BmnEcalDigitizer ()
virtual InitStatus Init ()
virtual void Exec (Option_t *opt)
virtual void Print (Option_t *option="") const
void SetGeometryFileName (const char *name)
 Read coordinates on ECAL cells from provided gepmetry file If this file nod set try will be made to obtain it from FairGeoLoader.
void SetInteractionDepthShift (Double_t cm)
 By default cell interaction point supposed to be in the center of the cell volume.
void SetThreshold (Float_t MeV)
 If cell energy is less than threshold it wont be stored.
void SetMaxEcalPointTime (Float_t ns)
 BmnEcalPoints with grater time will be ignored.
void SetPeakTimeDelay (Float_t ns)
 Cell start time calculated as weighted average of all BmnEcalPoints inside it.
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.

Private Member Functions

int LoadGeometry ()
int LoadGeometry ()

Private Attributes

const char * fEcalGeometryFileName = nullptr
Float_t fDepthShift = 0.
Float_t fThreshold = 10.
Float_t fMaxPointTime = 1000.
Float_t fPeakTimeDelay = 5.
Float_t fFiberSOL = 0.
Float_t fFiberLength = 52.
Float_t fLayerThickness = 0.195
BmnECALDigit fCells [1024]
const Int_t fCellsSize = sizeof(fCells) / sizeof(BmnECALDigit)
TClonesArray * fArrayOfEcalPoints
TClonesArray * fArrayOfEcalDigits

Detailed Description

Definition at line 16 of file BmnEcalDigitizer.h.

Constructor & Destructor Documentation

◆ BmnEcalDigitizer() [1/2]

BmnEcalDigitizer::BmnEcalDigitizer ( )

Definition at line 17 of file BmnEcalDigitizer.cxx.

Referenced by LoadGeometry().

Here is the caller graph for this function:

◆ ~BmnEcalDigitizer() [1/2]

BmnEcalDigitizer::~BmnEcalDigitizer ( )
virtual

Definition at line 19 of file BmnEcalDigitizer.cxx.

◆ BmnEcalDigitizer() [2/2]

BmnEcalDigitizer::BmnEcalDigitizer ( )

◆ ~BmnEcalDigitizer() [2/2]

virtual BmnEcalDigitizer::~BmnEcalDigitizer ( )
virtual

Member Function Documentation

◆ Exec() [1/2]

void BmnEcalDigitizer::Exec ( Option_t * opt)
virtual

Definition at line 44 of file BmnEcalDigitizer.cxx.

References fArrayOfEcalDigits, fArrayOfEcalPoints, fCells, fCellsSize, fFiberLength, fFiberSOL, fLayerThickness, fMaxPointTime, fPeakTimeDelay, fThreshold, BmnEcalPoint::GetCopy(), BmnEcalPoint::GetCopyMother(), i, BmnCaloDigit::SetAmp(), BmnECALDigit::SetPeakAmp(), BmnECALDigit::SetPeakTime(), and BmnECALDigit::SetStartTime().

Here is the call graph for this function:

◆ Exec() [2/2]

virtual void BmnEcalDigitizer::Exec ( Option_t * opt)
virtual

◆ Init() [1/2]

InitStatus BmnEcalDigitizer::Init ( )
virtual

Definition at line 21 of file BmnEcalDigitizer.cxx.

References fArrayOfEcalDigits, fArrayOfEcalPoints, and LoadGeometry().

Here is the call graph for this function:

◆ Init() [2/2]

virtual InitStatus BmnEcalDigitizer::Init ( )
virtual

◆ LoadGeometry() [1/2]

int BmnEcalDigitizer::LoadGeometry ( )
private

Definition at line 130 of file BmnEcalDigitizer.cxx.

References fCells, fCellsSize, fDepthShift, fEcalGeometryFileName, TGeoNode::GetDaughter(), TGeoNode::GetNdaughters(), TGeoVolume::GetNdaughters(), TGeoVolume::GetNode(), TGeoNode::GetNumber(), i, TGeoVolume::Import(), TGeoNode::LocalToMaster(), and n.

Referenced by Init().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LoadGeometry() [2/2]

int BmnEcalDigitizer::LoadGeometry ( )
private

References BmnEcalDigitizer(), fArrayOfEcalDigits, fArrayOfEcalPoints, fCells, fCellsSize, fDepthShift, fEcalGeometryFileName, fFiberLength, fFiberSOL, fLayerThickness, fMaxPointTime, fPeakTimeDelay, and fThreshold.

Here is the call graph for this function:

◆ Print() [1/2]

void BmnEcalDigitizer::Print ( Option_t * option = "") const
virtual

Definition at line 107 of file BmnEcalDigitizer.cxx.

References fCells, fCellsSize, fDepthShift, fEcalGeometryFileName, GetX(), GetY(), i, x, y, and z.

Here is the call graph for this function:

◆ Print() [2/2]

virtual void BmnEcalDigitizer::Print ( Option_t * option = "") const
virtual

◆ SetFiber() [1/2]

void BmnEcalDigitizer::SetFiber ( Float_t sol,
Float_t length = 52.,
Float_t moduleLayerThickness = .195 )
inline
Parameters
sol- light propagation speed in cm/ns, 0 - don't apply
length- length of the WLS fiber (52 cm)
moduleLayerThickness- thikness of the layer in the module (0.195 cm)

Definition at line 76 of file BmnEcalDigitizer.h.

References fFiberLength, fFiberSOL, and fLayerThickness.

◆ SetFiber() [2/2]

void BmnEcalDigitizer::SetFiber ( Float_t sol,
Float_t length = 52.,
Float_t moduleLayerThickness = .195 )
inline
Parameters
sol- light propagation speed in cm/ns, 0 - don't apply
length- length of the WLS fiber (52 cm)
moduleLayerThickness- thikness of the layer in the module (0.195 cm)

Definition at line 76 of file BmnEcalDigitizer.h.

References fFiberLength, fFiberSOL, and fLayerThickness.

◆ SetGeometryFileName() [1/2]

void BmnEcalDigitizer::SetGeometryFileName ( const char * name)
inline
Parameters
name- ECAL geometry file name

Definition at line 31 of file BmnEcalDigitizer.h.

References fEcalGeometryFileName.

◆ SetGeometryFileName() [2/2]

void BmnEcalDigitizer::SetGeometryFileName ( const char * name)
inline
Parameters
name- ECAL geometry file name

Definition at line 31 of file BmnEcalDigitizer.h.

References fEcalGeometryFileName.

◆ SetInteractionDepthShift() [1/2]

void BmnEcalDigitizer::SetInteractionDepthShift ( Double_t cm)
inline

This param allows it to be shifted along of Z axis of the volume. Default value is 0

Parameters
cm- Depth shift in cm

Definition at line 41 of file BmnEcalDigitizer.h.

References fDepthShift.

◆ SetInteractionDepthShift() [2/2]

void BmnEcalDigitizer::SetInteractionDepthShift ( Double_t cm)
inline

This param allows it to be shifted along of Z axis of the volume. Default value is 0

Parameters
cm- Depth shift in cm

Definition at line 41 of file BmnEcalDigitizer.h.

References fDepthShift.

◆ SetMaxEcalPointTime() [1/2]

void BmnEcalDigitizer::SetMaxEcalPointTime ( Float_t ns)
inline

Default value is 1000 ns. Set 0 for no limit

Parameters
ns- max allowed time in nanoseconds, 0 - no limit

Definition at line 57 of file BmnEcalDigitizer.h.

References fMaxPointTime.

◆ SetMaxEcalPointTime() [2/2]

void BmnEcalDigitizer::SetMaxEcalPointTime ( Float_t ns)
inline

Default value is 1000 ns. Set 0 for no limit

Parameters
ns- max allowed time in nanoseconds, 0 - no limit

Definition at line 57 of file BmnEcalDigitizer.h.

References fMaxPointTime.

◆ SetPeakTimeDelay() [1/2]

void BmnEcalDigitizer::SetPeakTimeDelay ( Float_t ns)
inline

Cell peak time is just the start time with constant delay. Default value is 5 ns

Parameters
ns- delay between start and peak time

Definition at line 66 of file BmnEcalDigitizer.h.

References fPeakTimeDelay.

◆ SetPeakTimeDelay() [2/2]

void BmnEcalDigitizer::SetPeakTimeDelay ( Float_t ns)
inline

Cell peak time is just the start time with constant delay. Default value is 5 ns

Parameters
ns- delay between start and peak time

Definition at line 66 of file BmnEcalDigitizer.h.

References fPeakTimeDelay.

◆ SetThreshold() [1/2]

void BmnEcalDigitizer::SetThreshold ( Float_t MeV)
inline

Default value is 10 MeV

Parameters
MeV- cell threshold, MeV

Definition at line 49 of file BmnEcalDigitizer.h.

References fThreshold.

◆ SetThreshold() [2/2]

void BmnEcalDigitizer::SetThreshold ( Float_t MeV)
inline

Default value is 10 MeV

Parameters
MeV- cell threshold, MeV

Definition at line 49 of file BmnEcalDigitizer.h.

References fThreshold.

Member Data Documentation

◆ fArrayOfEcalDigits

TClonesArray * BmnEcalDigitizer::fArrayOfEcalDigits
private

Definition at line 100 of file BmnEcalDigitizer.h.

Referenced by Exec(), Init(), and LoadGeometry().

◆ fArrayOfEcalPoints

TClonesArray * BmnEcalDigitizer::fArrayOfEcalPoints
private

Definition at line 99 of file BmnEcalDigitizer.h.

Referenced by Exec(), Init(), and LoadGeometry().

◆ fCells

BmnECALDigit BmnEcalDigitizer::fCells
private

Definition at line 96 of file BmnEcalDigitizer.h.

Referenced by Exec(), LoadGeometry(), and Print().

◆ fCellsSize

const Int_t BmnEcalDigitizer::fCellsSize = sizeof(fCells) / sizeof(BmnECALDigit)
private

Definition at line 97 of file BmnEcalDigitizer.h.

Referenced by Exec(), LoadGeometry(), and Print().

◆ fDepthShift

Float_t BmnEcalDigitizer::fDepthShift = 0.
private

Definition at line 87 of file BmnEcalDigitizer.h.

Referenced by LoadGeometry(), Print(), and SetInteractionDepthShift().

◆ fEcalGeometryFileName

const char * BmnEcalDigitizer::fEcalGeometryFileName = nullptr
private

Definition at line 86 of file BmnEcalDigitizer.h.

Referenced by LoadGeometry(), Print(), and SetGeometryFileName().

◆ fFiberLength

Float_t BmnEcalDigitizer::fFiberLength = 52.
private

Definition at line 93 of file BmnEcalDigitizer.h.

Referenced by Exec(), LoadGeometry(), and SetFiber().

◆ fFiberSOL

Float_t BmnEcalDigitizer::fFiberSOL = 0.
private

Definition at line 92 of file BmnEcalDigitizer.h.

Referenced by Exec(), LoadGeometry(), and SetFiber().

◆ fLayerThickness

Float_t BmnEcalDigitizer::fLayerThickness = 0.195
private

Definition at line 94 of file BmnEcalDigitizer.h.

Referenced by Exec(), LoadGeometry(), and SetFiber().

◆ fMaxPointTime

Float_t BmnEcalDigitizer::fMaxPointTime = 1000.
private

Definition at line 89 of file BmnEcalDigitizer.h.

Referenced by Exec(), LoadGeometry(), and SetMaxEcalPointTime().

◆ fPeakTimeDelay

Float_t BmnEcalDigitizer::fPeakTimeDelay = 5.
private

Definition at line 90 of file BmnEcalDigitizer.h.

Referenced by Exec(), LoadGeometry(), and SetPeakTimeDelay().

◆ fThreshold

Float_t BmnEcalDigitizer::fThreshold = 10.
private

Definition at line 88 of file BmnEcalDigitizer.h.

Referenced by Exec(), LoadGeometry(), and SetThreshold().


The documentation for this class was generated from the following files: