CbmRoot
Loading...
Searching...
No Matches
CbmMuchDigitizeGem Class Reference

#include <CbmMuchDigitizeGem.h>

Inheritance diagram for CbmMuchDigitizeGem:
[legend]
Collaboration diagram for CbmMuchDigitizeGem:
[legend]

Public Types

typedef std::pair< std::unique_ptr< CbmMuchDigi >, std::unique_ptr< CbmMatch > > Data
 Short for data to be handled (pair of digi and match)
 

Public Member Functions

 CbmMuchDigitizeGem ()
 
 CbmMuchDigitizeGem (const char *digiFileName, Int_t flag)
 
 CbmMuchDigitizeGem (const CbmMuchDigitizeGem &)=delete
 
CbmMuchDigitizeGemoperator= (const CbmMuchDigitizeGem &)=delete
 
virtual ~CbmMuchDigitizeGem ()
 
virtual void Exec (Option_t *opt)
 
virtual void Finish ()
 
ECbmModuleId GetSystemId () const
 Detector system ID.
 
void SetSpotRadius (Double_t spotRadius=0.05)
 
void SetMeanGasGain (Double_t gasGain)
 
void SetQMaximum (UInt_t qMax)
 
void SetQThreshold (UInt_t qThreshold)
 
void SetNADCChannels (UInt_t nADCChannels)
 
void SetMeanNoise (UInt_t meanNoise)
 
void SetDeadPadsFrac (Double_t deadPadsFrac)
 
void SetDTime (Double_t dTime)
 
Double_t GetDTime ()
 
Double_t Sigma_n_e (Double_t Tkin, Double_t mass)
 
Double_t MPV_n_e (Double_t Tkin, Double_t mass)
 
void ReadAndRegister (Long_t)
 
Int_t GetNofSignals () const
 
Bool_t BufferSignals (Int_t, Double_t, Double_t)
 
CbmMuchDigiConvertSignalToDigi (CbmMuchSignal *)
 
void SetMcChain (TChain *mcChain)
 
void SetDriftVelocity (Double_t velocity)
 
void SetTimeBinWidth (Double_t timeBinWidth)
 
void SetAlgorithm (Int_t algorithm)
 
void SetTimeOverThreshold (Bool_t tot)
 
void SetLight (Bool_t islight)
 
void SetGenerateNoise (Bool_t Noise)
 
void SetPerPadNoiseRate (Double_t noiserate)
 
Int_t GenerateNoise (Double_t, Double_t)
 
Int_t GenerateNoisePerModule (CbmMuchModuleGem *, Double_t, Double_t)
 
void AddNoiseSignal (CbmMuchPad *, Double_t, Double_t)
 
Bool_t CheckOutput ()
 Check the output for being time-sorted.
 
Double_t GetLatency () const
 Return the detector specific latency @value latency.
 
void ClearOutput ()
 Clear the output arrays.
 
ULong64_t FillTimeSlice (CbmTimeSlice *timeSlice)
 Move data from the DaqBuffer into the current time slice.
 
ULong64_t FillTimeSlice (CbmTimeSlice *timeSlice, Double_t fillTime)
 Move data from the DaqBuffer into the current time slice.
 
ULong64_t GetDaqBufferSize () const
 Size of DAQ buffer @value Number of data in the DAQ buffer.
 
std::string GetDaqBufferStatus () const
 Debug output of DAQ buffer status @value String with status of DAQ buffer.
 
Double_t GetDaqBufferTimeFirst () const
 Time stamp of first data in the DAQ buffer @value Time stamp of first data in the DAQ buffer.
 
Double_t GetDaqBufferTimeLast () const
 Time stamp of last data in the DAQ buffer @value Time stamp of last data in the DAQ buffer.
 
void RegisterOutput ()
 Register the output arrays.
 
void SendData (Double_t time, CbmMuchDigi *digi, CbmMatch *match=nullptr)
 Send a digi and the corresponding match object to the DAQ.
 
virtual void FillCustomData (Double_t, Bool_t=kTRUE)
 Fill custom data into time slice.
 
void GetEventInfo ()
 Get event information.
 
Double_t GetEventTime () const
 Current event time @value Start time of current event [ns].
 
void SetCreateMatches (Bool_t choice=kTRUE)
 Set creation of links to MC.
 
void SetEventMode (Bool_t choice=kTRUE)
 Set event-by-event mode.
 
void SetInactiveChannelFile (const char *fileName)
 Set the file containing the list of inactive channels.
 
void SetProduceNoise (Bool_t choice=kTRUE)
 Set production of inter-event noise.
 
void SetRunStartTime (Double_t time)
 Set the run start time.
 

Protected Member Functions

virtual std::pair< size_t, bool > ReadInactiveChannels ()
 Set of inactive channels, indicated by CbmAddress.
 

Protected Attributes

Bool_t fEventMode
 
Bool_t fProduceNoise
 Flag for event-by-event mode.
 
Bool_t fCreateMatches
 Flag for production of inter-event noise.
 
Double_t fRunStartTime = 0
 Flag for creation of links to MC.
 
Int_t fCurrentInput
 Start time of run [ns].
 
Int_t fCurrentEvent
 Number of current input.
 
Int_t fCurrentMCEntry
 Number of current MC event.
 
Double_t fCurrentEventTime
 Number of current MC entry.
 
TString fInactiveChannelFileName = ""
 Time of current MC event [ns].
 
std::set< uint32_t > fInactiveChannels = {}
 Name of file with inactive channels.
 

Private Member Functions

virtual InitStatus Init ()
 
Bool_t ExecPoint (const CbmMuchPoint *point, Int_t)
 
Int_t GasGain ()
 
void DetectorParameters (CbmMuchModule *module)
 
Double_t GetNPrimaryElectronsPerCm (const CbmMuchPoint *point, int detectortype)
 
Bool_t AddCharge (CbmMuchSectorRadial *s, UInt_t ne, Int_t iPoint, Double_t time, Double_t driftTime, Double_t phi1, Double_t phi2)
 
void AddCharge (CbmMuchPad *pad, UInt_t charge, Int_t iPoint, Double_t time, Double_t driftTime)
 
void Reset ()
 
ULong64_t FillTimeSlice (CbmTimeSlice *timeSlice, Bool_t checkLimit, Double_t fillTime)
 Move data from the DaqBuffer into the current time slice.
 
bool IsChannelActive (const CbmMuchDigi &digi)
 Test if the channel of a digi object is set active.
 
 ClassDef (CbmDigitize, 1)
 

Private Attributes

Int_t fAlgorithm
 
CbmMuchGeoSchemefGeoScheme
 
TString fDigiFile
 
TClonesArray * fPoints
 
TClonesArray * fMCTracks
 
Int_t fNFailed
 
Int_t fNOutside
 
Int_t fNMulti
 
Int_t fFlag
 
UInt_t fNADCChannels
 
UInt_t fQMax
 
UInt_t fQThreshold
 
UInt_t fMeanNoise
 
Double_t fSpotRadius
 
Double_t fMeanGasGain
 
Double_t fDTime
 
Double_t fDeadPadsFrac
 
TStopwatch fTimer
 
TChain * fMcChain
 
Double_t fDeadTime
 
Double_t fDriftVelocity
 
Double_t fTimeBinWidth
 
Int_t fNTimeBins
 
Bool_t fTOT
 
Double_t fTotalDriftTime
 
TF1 * fSigma [3]
 
TF1 * fMPV [3]
 
Bool_t fIsLight
 
Double_t fTimePointLast
 
Double_t fTimeDigiFirst
 Time of first digi sent to DAQ.
 
Double_t fTimeDigiLast
 Time of last digi sent to DAQ.
 
Int_t fNofPoints
 Number of points processed in Exec.
 
Int_t fNofSignals
 Number of signals.
 
Int_t fNofDigis
 Number of created digis in Exec.
 
Int_t fNofEvents
 Total number of events processed.
 
Double_t fNofPointsTot
 Total number of points processed.
 
Double_t fNofSignalsTot
 Total Number of signals.
 
Double_t fNofDigisTot
 Total number of digis created.
 
Double_t fTimeTot
 Total execution time.
 
Double_t fPerPadNoiseRate
 
Double_t fPreviousEventTime = -1
 
Bool_t fGenerateElectronicsNoise
 Previous Event Time.
 
Int_t fNofNoiseTot = 0
 Set this boolean variable to True if want to generated Elecronics Noise.
 
Int_t fNofNoiseSignals = 0
 
TF1 * fNoiseCharge
 
std::map< UInt_t, UInt_t > fAddressCharge
 Function to sample the noise charge.
 
Double_t fGemTX = 0.0
 
Double_t fGemTY = 0.0
 
Double_t fRpcTX = 0.0
 
Double_t fRpcTY = 0.0
 
TString fBranchName
 Output branch name.
 
std::vector< CbmMuchDigi > * fDigis
 
std::vector< CbmMatch > * fMatches
 Output array (Digi)
 
std::multimap< double, DatafDaqBuffer
 Output array (CbmMatch)
 

Detailed Description

Definition at line 68 of file CbmMuchDigitizeGem.h.

Member Typedef Documentation

◆ Data

std::pair<std::unique_ptr<CbmMuchDigi>, std::unique_ptr<CbmMatch> > CbmDigitize< CbmMuchDigi >::Data
inherited

Short for data to be handled (pair of digi and match)

Definition at line 48 of file CbmDigitize.h.

Constructor & Destructor Documentation

◆ CbmMuchDigitizeGem() [1/3]

CbmMuchDigitizeGem::CbmMuchDigitizeGem ( )

Default constructor

Definition at line 90 of file CbmMuchDigitizeGem.cxx.

References fMPV, fNoiseCharge, fQMax, fQThreshold, fSigma, mpv_e, mpv_mu, mpv_p, Reset(), sigma_e, sigma_mu, and sigma_p.

◆ CbmMuchDigitizeGem() [2/3]

CbmMuchDigitizeGem::CbmMuchDigitizeGem ( const char * digiFileName,
Int_t flag )

Constructor

Definition at line 177 of file CbmMuchDigitizeGem.cxx.

References fMPV, fNoiseCharge, fQMax, fQThreshold, fSigma, mpv_e, mpv_mu, mpv_p, Reset(), sigma_e, sigma_mu, and sigma_p.

◆ CbmMuchDigitizeGem() [3/3]

CbmMuchDigitizeGem::CbmMuchDigitizeGem ( const CbmMuchDigitizeGem & )
delete

◆ ~CbmMuchDigitizeGem()

CbmMuchDigitizeGem::~CbmMuchDigitizeGem ( )
virtual

Destructor.

Definition at line 264 of file CbmMuchDigitizeGem.cxx.

References fMPV, and fSigma.

Member Function Documentation

◆ AddCharge() [1/2]

◆ AddCharge() [2/2]

Bool_t CbmMuchDigitizeGem::AddCharge ( CbmMuchSectorRadial * s,
UInt_t ne,
Int_t iPoint,
Double_t time,
Double_t driftTime,
Double_t phi1,
Double_t phi2 )
private

◆ AddNoiseSignal()

void CbmMuchDigitizeGem::AddNoiseSignal ( CbmMuchPad * pad,
Double_t time,
Double_t charge )

◆ BufferSignals()

◆ CheckOutput()

Bool_t CbmDigitize< CbmMuchDigi >::CheckOutput ( )
inlinevirtualinherited

Check the output for being time-sorted.

Implements CbmDigitizeBase.

Definition at line 67 of file CbmDigitize.h.

◆ ClassDef()

CbmDigitize< CbmMuchDigi >::ClassDef ( CbmDigitize< CbmMuchDigi > ,
1  )
privateinherited

◆ ClearOutput()

void CbmDigitize< CbmMuchDigi >::ClearOutput ( )
inlinevirtualinherited

Clear the output arrays.

Implements CbmDigitizeBase.

Definition at line 96 of file CbmDigitize.h.

◆ ConvertSignalToDigi()

◆ DetectorParameters()

void CbmMuchDigitizeGem::DetectorParameters ( CbmMuchModule * module)
private

◆ Exec()

◆ ExecPoint()

◆ FillCustomData()

virtual void CbmDigitizeBase::FillCustomData ( Double_t ,
Bool_t = kTRUE )
inlinevirtualinherited

Fill custom data into time slice.

Parameters
fillTimeTime until data can be filled
limitIf kTRUE, only data up to fillTime will be treated; otherwise, all.

This method allows the digitizer to implement additional functionality than writing digis and match objects. It will be called from CbmDaq.

Definition at line 75 of file CbmDigitizeBase.h.

◆ FillTimeSlice() [1/3]

ULong64_t CbmDigitize< CbmMuchDigi >::FillTimeSlice ( CbmTimeSlice * timeSlice)
inlinevirtualinherited

Move data from the DaqBuffer into the current time slice.

Parameters
timeSlicePointer to current time slice object @value Number of digi objects filled into the time slice.

For regular time slices, all data with time stamp within the interval of the current time slice are moved from the buffer to the time slice. For time slices of type kFlexible or kEvent, all data will be moved.

Implements CbmDigitizeBase.

Definition at line 114 of file CbmDigitize.h.

◆ FillTimeSlice() [2/3]

ULong64_t CbmDigitize< CbmMuchDigi >::FillTimeSlice ( CbmTimeSlice * timeSlice,
Bool_t checkLimit,
Double_t fillTime )
inlineprivateinherited

Move data from the DaqBuffer into the current time slice.

Parameters
timeSlicePointer to current time slice object
fillTimeTime up to which data will be moved [ns] @value Number of digi objects filled into the time slice.

For regular time slices, all data with time stamp within the interval of the current time slice are moved from the buffer to the time slice. For time slices of type kFlexible or kEvent, all data will be moved.

If checkLimit is selected, only data with time stamp less than fillTime are moved.

Definition at line 273 of file CbmDigitize.h.

◆ FillTimeSlice() [3/3]

ULong64_t CbmDigitize< CbmMuchDigi >::FillTimeSlice ( CbmTimeSlice * timeSlice,
Double_t fillTime )
inlinevirtualinherited

Move data from the DaqBuffer into the current time slice.

Parameters
timeSlicePointer to current time slice object
fillTimeTime up to which data will be moved [ns] @value Number of digi objects filled into the time slice.

Move data with time stamp up to fillTime from the buffer to the time slice. For regular time slices, only data with time stamp within the time slice interval will be moved. For time slices of type kFlexible or kEvent, all data up to fillTime will be moved.

Implements CbmDigitizeBase.

Definition at line 129 of file CbmDigitize.h.

◆ Finish()

◆ GasGain()

Int_t CbmMuchDigitizeGem::GasGain ( )
inlineprivate

Builds a TPolyLine from given rectangle parameters (no rotation angle).

Parameters
x0X of the center.
y0Y of the center.
widthWidth.
heightHeight.

Definition at line 1075 of file CbmMuchDigitizeGem.cxx.

References fMeanGasGain.

Referenced by ExecPoint().

◆ GenerateNoise()

◆ GenerateNoisePerModule()

Int_t CbmMuchDigitizeGem::GenerateNoisePerModule ( CbmMuchModuleGem * module,
Double_t t1,
Double_t t2 )

Definition at line 643 of file CbmMuchDigitizeGem.cxx.

References AddNoiseSignal(), fNoiseCharge, and fPerPadNoiseRate.

Referenced by GenerateNoise().

◆ GetDaqBufferSize()

ULong64_t CbmDigitize< CbmMuchDigi >::GetDaqBufferSize ( ) const
inlinevirtualinherited

Size of DAQ buffer @value Number of data in the DAQ buffer.

Implements CbmDigitizeBase.

Definition at line 140 of file CbmDigitize.h.

◆ GetDaqBufferStatus()

std::string CbmDigitize< CbmMuchDigi >::GetDaqBufferStatus ( ) const
inlinevirtualinherited

Debug output of DAQ buffer status @value String with status of DAQ buffer.

Implements CbmDigitizeBase.

Definition at line 148 of file CbmDigitize.h.

◆ GetDaqBufferTimeFirst()

Double_t CbmDigitize< CbmMuchDigi >::GetDaqBufferTimeFirst ( ) const
inlinevirtualinherited

Time stamp of first data in the DAQ buffer @value Time stamp of first data in the DAQ buffer.

Implements CbmDigitizeBase.

Definition at line 162 of file CbmDigitize.h.

◆ GetDaqBufferTimeLast()

Double_t CbmDigitize< CbmMuchDigi >::GetDaqBufferTimeLast ( ) const
inlinevirtualinherited

Time stamp of last data in the DAQ buffer @value Time stamp of last data in the DAQ buffer.

Implements CbmDigitizeBase.

Definition at line 174 of file CbmDigitize.h.

◆ GetDTime()

Double_t CbmMuchDigitizeGem::GetDTime ( )
inline

Gets time resolution [ns].

Definition at line 139 of file CbmMuchDigitizeGem.h.

References fDTime.

◆ GetEventInfo()

void CbmDigitizeBase::GetEventInfo ( )
inherited

Get event information.

MC input number, entry number and event time are taken from FairEventHeader and stored in the private data members for convenience. Note that the MC entry number need not coincide with the event number, for instance if the run does not start with the first MC entry, or in the case of mixed MC inputs to digitization.

Definition at line 57 of file CbmDigitizeBase.cxx.

References CbmDigitizeBase::fCurrentEvent, CbmDigitizeBase::fCurrentEventTime, CbmDigitizeBase::fCurrentInput, and CbmDigitizeBase::fCurrentMCEntry.

Referenced by CbmBmonDigitize::Exec(), CbmFsdDigitize::Exec(), Exec(), CbmMvdDigitizer::Exec(), CbmPsdSimpleDigitizer::Exec(), CbmRichDigitizer::Exec(), CbmStsDigitize::Exec(), CbmStsDigitizePixel::Exec(), CbmTofDigitize::Exec(), and CbmTrdDigitizer::Exec().

◆ GetEventTime()

Double_t CbmDigitizeBase::GetEventTime ( ) const
inlineinherited

Current event time @value Start time of current event [ns].

Definition at line 113 of file CbmDigitizeBase.h.

References CbmDigitizeBase::fCurrentEventTime.

◆ GetLatency()

Double_t CbmDigitize< CbmMuchDigi >::GetLatency ( ) const
inlinevirtualinherited

Return the detector specific latency @value latency.

If there is no detector sopecific implementation the return value is 0. which does not change the default value set in CbmDaq.

Implements CbmDigitizeBase.

Definition at line 92 of file CbmDigitize.h.

◆ GetNofSignals()

Int_t CbmMuchDigitizeGem::GetNofSignals ( ) const
inline

Get number of signals

Definition at line 155 of file CbmMuchDigitizeGem.h.

References fNofSignals.

◆ GetNPrimaryElectronsPerCm()

Double_t CbmMuchDigitizeGem::GetNPrimaryElectronsPerCm ( const CbmMuchPoint * point,
int detectortype )
private

GEM

RPC

Definition at line 1135 of file CbmMuchDigitizeGem.cxx.

References fMCTracks, CbmMCTrack::GetPdgCode(), l_e, l_not_e, MPV_n_e(), and Sigma_n_e().

Referenced by ExecPoint().

◆ GetSystemId()

ECbmModuleId CbmMuchDigitizeGem::GetSystemId ( ) const
inlinevirtual

Detector system ID.

Returns
Detector system ID [ECbmModuleId]

Implements CbmDigitizeBase.

Definition at line 88 of file CbmMuchDigitizeGem.h.

References kMuch.

◆ Init()

◆ IsChannelActive()

bool CbmDigitize< CbmMuchDigi >::IsChannelActive ( const CbmMuchDigi & digi)
inlineprivateinherited

Test if the channel of a digi object is set active.

Parameters
digiobject
Returns
.true. if the respective channel is active

Definition at line 350 of file CbmDigitize.h.

◆ MPV_n_e()

Double_t CbmMuchDigitizeGem::MPV_n_e ( Double_t Tkin,
Double_t mass )

Parameterization of most probable value for electrons for Landau distribution.

Parameters
logTLogarithm of electron kinetic energy (energy in [MeV]).
massMass of the particle [MeV/c^2].

Definition at line 1110 of file CbmMuchDigitizeGem.cxx.

References fMPV, log(), min_logT_e, min_logT_mu, and min_logT_p.

Referenced by GetNPrimaryElectronsPerCm().

◆ operator=()

CbmMuchDigitizeGem & CbmMuchDigitizeGem::operator= ( const CbmMuchDigitizeGem & )
delete

◆ ReadAndRegister()

◆ ReadInactiveChannels()

std::pair< size_t, bool > CbmDigitizeBase::ReadInactiveChannels ( )
protectedvirtualinherited

Set of inactive channels, indicated by CbmAddress.

Read the list of inactive channels from file

Parameters
fileNameFile name
Returns
Number of channels read from file, success of file reading

Reading from the file will stop when a read error occurs. In that case, or when the file could not be opened at all, the success flag will be .false.

Reimplemented in CbmStsDigitize.

Definition at line 80 of file CbmDigitizeBase.cxx.

References CbmDigitizeBase::fInactiveChannelFileName, and CbmDigitizeBase::fInactiveChannels.

Referenced by CbmBmonDigitize::Init(), Init(), CbmMvdDigitizer::Init(), CbmPsdSimpleDigitizer::Init(), CbmRichDigitizer::Init(), CbmTofDigitize::Init(), and CbmTrdDigitizer::Init().

◆ RegisterOutput()

void CbmDigitize< CbmMuchDigi >::RegisterOutput ( )
inlineinherited

Register the output arrays.

Arrays for the digis and the match objects will be created and registered as output to the ROOT tree. The current implementation uses std::vector as container.

Definition at line 189 of file CbmDigitize.h.

Referenced by Init().

◆ Reset()

void CbmMuchDigitizeGem::Reset ( )
private

◆ SendData()

void CbmDigitize< CbmMuchDigi >::SendData ( Double_t time,
CbmMuchDigi * digi,
CbmMatch * match = nullptr )
inlineinherited

Send a digi and the corresponding match object to the DAQ.

Parameters
timeGlobal time of the digi
digiPointer to digi object (template parameter)
matchPointer to match object

Time is passed as a seperate parameter because the global time might be too large for some digi classes to store internally. So digis are not required to have a valid timestamp at this point. Later on when the time slices are known, the timestamp is overwritten with the relative time to the beginning of the time slice.

TODO: The interface should be unique pointers, meaning that the digitisers have to create objects by unique pointers from the start.

Definition at line 237 of file CbmDigitize.h.

Referenced by ReadAndRegister().

◆ SetAlgorithm()

void CbmMuchDigitizeGem::SetAlgorithm ( Int_t algorithm)
inline

Definition at line 167 of file CbmMuchDigitizeGem.h.

References fAlgorithm.

◆ SetCreateMatches()

void CbmDigitizeBase::SetCreateMatches ( Bool_t choice = kTRUE)
inlineinherited

Set creation of links to MC.

Parameters
ChoiceIf kTRUE, the match objects will be created

Definition at line 154 of file CbmDigitizeBase.h.

References CbmDigitizeBase::fCreateMatches.

Referenced by CbmStsDigitizePixel::Init(), and CbmDigitization::Run().

◆ SetDeadPadsFrac()

void CbmMuchDigitizeGem::SetDeadPadsFrac ( Double_t deadPadsFrac)
inline

Sets the probability (normalized to unity) to find a dead pad.

Parameters
deadPadsFracProbability to find a dead pad (0-1).

Definition at line 131 of file CbmMuchDigitizeGem.h.

References fDeadPadsFrac.

◆ SetDriftVelocity()

void CbmMuchDigitizeGem::SetDriftVelocity ( Double_t velocity)
inline

Definition at line 163 of file CbmMuchDigitizeGem.h.

References fDriftVelocity.

◆ SetDTime()

void CbmMuchDigitizeGem::SetDTime ( Double_t dTime)
inline

Sets the time resolution.

Parameters
dTimeTime resolution [ns].

Definition at line 136 of file CbmMuchDigitizeGem.h.

References fDTime.

◆ SetEventMode()

void CbmDigitizeBase::SetEventMode ( Bool_t choice = kTRUE)
inlineinherited

Set event-by-event mode.

Parameters
ChoiceIf kTRUE, the digitizer will run in event-by-event mode

Definition at line 160 of file CbmDigitizeBase.h.

References CbmDigitizeBase::fEventMode.

Referenced by CbmDigitization::Run().

◆ SetGenerateNoise()

void CbmMuchDigitizeGem::SetGenerateNoise ( Bool_t Noise)
inline

Definition at line 174 of file CbmMuchDigitizeGem.h.

References fGenerateElectronicsNoise.

◆ SetInactiveChannelFile()

void CbmDigitizeBase::SetInactiveChannelFile ( const char * fileName)
inlineinherited

Set the file containing the list of inactive channels.

Parameters
fileNameName of file

Channels are identified by their CbmAddress. The file must contain a list of addresses, one per line. Comments after the address are allowed if separated by a blank.

Definition at line 169 of file CbmDigitizeBase.h.

References CbmDigitizeBase::fInactiveChannelFileName.

◆ SetLight()

void CbmMuchDigitizeGem::SetLight ( Bool_t islight)
inline

Definition at line 170 of file CbmMuchDigitizeGem.h.

References fIsLight.

◆ SetMcChain()

void CbmMuchDigitizeGem::SetMcChain ( TChain * mcChain)
inline

Definition at line 161 of file CbmMuchDigitizeGem.h.

References fMcChain.

◆ SetMeanGasGain()

void CbmMuchDigitizeGem::SetMeanGasGain ( Double_t gasGain)
inline

Sets mean gas gain value.

Parameters
gasGainMean gas gain value [electrons] (10000 by default).

Definition at line 101 of file CbmMuchDigitizeGem.h.

References fMeanGasGain.

◆ SetMeanNoise()

void CbmMuchDigitizeGem::SetMeanNoise ( UInt_t meanNoise)
inline

Sets mean electronics noise value.

Parameters
meanNoiseMean noise value [electrons] (0 by default).

Definition at line 125 of file CbmMuchDigitizeGem.h.

References fMeanNoise.

◆ SetNADCChannels()

void CbmMuchDigitizeGem::SetNADCChannels ( UInt_t nADCChannels)
inline

Sets number of ADC channels.

Parameters
nADCChannelsNumber of ADC channels (256 by default).

Definition at line 119 of file CbmMuchDigitizeGem.h.

References fNADCChannels.

◆ SetPerPadNoiseRate()

void CbmMuchDigitizeGem::SetPerPadNoiseRate ( Double_t noiserate)
inline

Definition at line 178 of file CbmMuchDigitizeGem.h.

References fPerPadNoiseRate.

◆ SetProduceNoise()

void CbmDigitizeBase::SetProduceNoise ( Bool_t choice = kTRUE)
inlineinherited

Set production of inter-event noise.

Parameters
ChoiceIf kTRUE, the digitizer will produce noise

Definition at line 175 of file CbmDigitizeBase.h.

References CbmDigitizeBase::fProduceNoise.

Referenced by CbmDigitization::Run().

◆ SetQMaximum()

void CbmMuchDigitizeGem::SetQMaximum ( UInt_t qMax)
inline

Sets maximal charge which a pad able to collect.

Parameters
qMaxCharge value [electrons] (440000 by default).

Definition at line 107 of file CbmMuchDigitizeGem.h.

References fQMax.

◆ SetQThreshold()

void CbmMuchDigitizeGem::SetQThreshold ( UInt_t qThreshold)
inline

Sets charge threshold [ADC channels] for pads.

Parameters
qThresholdCharge threshold value [ADC channels] (3 by default).

Definition at line 113 of file CbmMuchDigitizeGem.h.

References fQThreshold.

◆ SetRunStartTime()

void CbmDigitizeBase::SetRunStartTime ( Double_t time)
inlineinherited

Set the run start time.

Parameters
Runstart time [ns]

Definition at line 181 of file CbmDigitizeBase.h.

References CbmDigitizeBase::fRunStartTime.

Referenced by CbmDigitization::Run().

◆ SetSpotRadius()

void CbmMuchDigitizeGem::SetSpotRadius ( Double_t spotRadius = 0.05)
inline

Sets radius of a spot from secondary electrons.

Parameters
spotRadiusSpot radius [cm] (0.03 cm by default).

Definition at line 95 of file CbmMuchDigitizeGem.h.

References fSpotRadius.

◆ SetTimeBinWidth()

void CbmMuchDigitizeGem::SetTimeBinWidth ( Double_t timeBinWidth)
inline

Definition at line 166 of file CbmMuchDigitizeGem.h.

References fTimeBinWidth.

◆ SetTimeOverThreshold()

void CbmMuchDigitizeGem::SetTimeOverThreshold ( Bool_t tot)
inline

Definition at line 168 of file CbmMuchDigitizeGem.h.

References fTOT.

◆ Sigma_n_e()

Double_t CbmMuchDigitizeGem::Sigma_n_e ( Double_t Tkin,
Double_t mass )

Parameterization of sigma for electrons for Landau distribution.

Parameters
logTLogarithm of electron kinetic energy (energy in [MeV]).
massMass of the particle [MeV/c^2].

Definition at line 1085 of file CbmMuchDigitizeGem.cxx.

References fSigma, log(), min_logT_e, min_logT_mu, and min_logT_p.

Referenced by GetNPrimaryElectronsPerCm().

Member Data Documentation

◆ fAddressCharge

std::map<UInt_t, UInt_t> CbmMuchDigitizeGem::fAddressCharge
private

Function to sample the noise charge.

Definition at line 265 of file CbmMuchDigitizeGem.h.

Referenced by AddCharge(), BufferSignals(), and ExecPoint().

◆ fAlgorithm

Int_t CbmMuchDigitizeGem::fAlgorithm
private

Definition at line 190 of file CbmMuchDigitizeGem.h.

Referenced by ExecPoint(), and SetAlgorithm().

◆ fBranchName

TString CbmDigitize< CbmMuchDigi >::fBranchName
privateinherited

Output branch name.

Definition at line 248 of file CbmDigitize.h.

◆ fCreateMatches

◆ fCurrentEvent

◆ fCurrentEventTime

◆ fCurrentInput

◆ fCurrentMCEntry

◆ fDaqBuffer

std::multimap<double, Data> CbmDigitize< CbmMuchDigi >::fDaqBuffer
privateinherited

Output array (CbmMatch)

DAQ buffer. Here, the digis and matches are buffered until they are filled into the time slice output (ROOT branch). The map key is the digi time.

Definition at line 257 of file CbmDigitize.h.

◆ fDeadPadsFrac

Double_t CbmMuchDigitizeGem::fDeadPadsFrac
private

Definition at line 219 of file CbmMuchDigitizeGem.h.

Referenced by DetectorParameters(), and SetDeadPadsFrac().

◆ fDeadTime

Double_t CbmMuchDigitizeGem::fDeadTime
private

Definition at line 222 of file CbmMuchDigitizeGem.h.

◆ fDigiFile

TString CbmMuchDigitizeGem::fDigiFile
private

Definition at line 192 of file CbmMuchDigitizeGem.h.

Referenced by Init().

◆ fDigis

std::vector<CbmMuchDigi>* CbmDigitize< CbmMuchDigi >::fDigis
privateinherited

Definition at line 249 of file CbmDigitize.h.

◆ fDriftVelocity

Double_t CbmMuchDigitizeGem::fDriftVelocity
private

Definition at line 223 of file CbmMuchDigitizeGem.h.

Referenced by DetectorParameters(), and SetDriftVelocity().

◆ fDTime

Double_t CbmMuchDigitizeGem::fDTime
private

Definition at line 218 of file CbmMuchDigitizeGem.h.

Referenced by DetectorParameters(), GetDTime(), and SetDTime().

◆ fEventMode

◆ fFlag

Int_t CbmMuchDigitizeGem::fFlag
private

Definition at line 202 of file CbmMuchDigitizeGem.h.

Referenced by ExecPoint(), and Init().

◆ fGemTX

Double_t CbmMuchDigitizeGem::fGemTX = 0.0
private

Definition at line 292 of file CbmMuchDigitizeGem.h.

Referenced by ExecPoint(), and Init().

◆ fGemTY

Double_t CbmMuchDigitizeGem::fGemTY = 0.0
private

Definition at line 293 of file CbmMuchDigitizeGem.h.

Referenced by ExecPoint(), and Init().

◆ fGenerateElectronicsNoise

Bool_t CbmMuchDigitizeGem::fGenerateElectronicsNoise
private

Previous Event Time.

Definition at line 258 of file CbmMuchDigitizeGem.h.

Referenced by Exec(), and SetGenerateNoise().

◆ fGeoScheme

CbmMuchGeoScheme* CbmMuchDigitizeGem::fGeoScheme
private

Definition at line 191 of file CbmMuchDigitizeGem.h.

Referenced by ConvertSignalToDigi(), ExecPoint(), GenerateNoise(), and Init().

◆ fInactiveChannelFileName

◆ fInactiveChannels

std::set<uint32_t> CbmDigitizeBase::fInactiveChannels = {}
protectedinherited

◆ fIsLight

Bool_t CbmMuchDigitizeGem::fIsLight
private

Definition at line 234 of file CbmMuchDigitizeGem.h.

Referenced by SetLight().

◆ fMatches

std::vector<CbmMatch>* CbmDigitize< CbmMuchDigi >::fMatches
privateinherited

Output array (Digi)

Definition at line 250 of file CbmDigitize.h.

◆ fMcChain

TChain* CbmMuchDigitizeGem::fMcChain
private

Definition at line 221 of file CbmMuchDigitizeGem.h.

Referenced by SetMcChain().

◆ fMCTracks

TClonesArray* CbmMuchDigitizeGem::fMCTracks
private

Definition at line 194 of file CbmMuchDigitizeGem.h.

Referenced by GetNPrimaryElectronsPerCm(), and Init().

◆ fMeanGasGain

Double_t CbmMuchDigitizeGem::fMeanGasGain
private

Definition at line 217 of file CbmMuchDigitizeGem.h.

Referenced by DetectorParameters(), GasGain(), and SetMeanGasGain().

◆ fMeanNoise

UInt_t CbmMuchDigitizeGem::fMeanNoise
private

Definition at line 215 of file CbmMuchDigitizeGem.h.

Referenced by AddCharge(), BufferSignals(), DetectorParameters(), and SetMeanNoise().

◆ fMPV

TF1* CbmMuchDigitizeGem::fMPV[3]
private

◆ fNADCChannels

UInt_t CbmMuchDigitizeGem::fNADCChannels
private

Definition at line 212 of file CbmMuchDigitizeGem.h.

Referenced by ConvertSignalToDigi(), DetectorParameters(), and SetNADCChannels().

◆ fNFailed

Int_t CbmMuchDigitizeGem::fNFailed
private

Definition at line 199 of file CbmMuchDigitizeGem.h.

◆ fNMulti

Int_t CbmMuchDigitizeGem::fNMulti
private

Definition at line 201 of file CbmMuchDigitizeGem.h.

◆ fNofDigis

Int_t CbmMuchDigitizeGem::fNofDigis
private

Number of created digis in Exec.

Definition at line 245 of file CbmMuchDigitizeGem.h.

Referenced by ConvertSignalToDigi(), Exec(), Finish(), ReadAndRegister(), and Reset().

◆ fNofDigisTot

Double_t CbmMuchDigitizeGem::fNofDigisTot
private

Total number of digis created.

Definition at line 251 of file CbmMuchDigitizeGem.h.

Referenced by Exec(), and Finish().

◆ fNofEvents

Int_t CbmMuchDigitizeGem::fNofEvents
private

Total number of events processed.

Definition at line 248 of file CbmMuchDigitizeGem.h.

Referenced by Exec(), and Finish().

◆ fNofNoiseSignals

Int_t CbmMuchDigitizeGem::fNofNoiseSignals = 0
private

Definition at line 260 of file CbmMuchDigitizeGem.h.

Referenced by AddNoiseSignal(), and Exec().

◆ fNofNoiseTot

Int_t CbmMuchDigitizeGem::fNofNoiseTot = 0
private

Set this boolean variable to True if want to generated Elecronics Noise.

Definition at line 259 of file CbmMuchDigitizeGem.h.

Referenced by Exec(), and Finish().

◆ fNofPoints

Int_t CbmMuchDigitizeGem::fNofPoints
private

Number of points processed in Exec.

Definition at line 243 of file CbmMuchDigitizeGem.h.

Referenced by Exec(), Finish(), and Reset().

◆ fNofPointsTot

Double_t CbmMuchDigitizeGem::fNofPointsTot
private

Total number of points processed.

Definition at line 249 of file CbmMuchDigitizeGem.h.

Referenced by Exec(), and Finish().

◆ fNofSignals

Int_t CbmMuchDigitizeGem::fNofSignals
private

Number of signals.

Definition at line 244 of file CbmMuchDigitizeGem.h.

Referenced by AddCharge(), BufferSignals(), Exec(), Finish(), GetNofSignals(), and Reset().

◆ fNofSignalsTot

Double_t CbmMuchDigitizeGem::fNofSignalsTot
private

Total Number of signals.

Definition at line 250 of file CbmMuchDigitizeGem.h.

Referenced by Exec(), and Finish().

◆ fNoiseCharge

TF1* CbmMuchDigitizeGem::fNoiseCharge
private

◆ fNOutside

Int_t CbmMuchDigitizeGem::fNOutside
private

Definition at line 200 of file CbmMuchDigitizeGem.h.

◆ fNTimeBins

Int_t CbmMuchDigitizeGem::fNTimeBins
private

Definition at line 227 of file CbmMuchDigitizeGem.h.

◆ fPerPadNoiseRate

Double_t CbmMuchDigitizeGem::fPerPadNoiseRate
private

Definition at line 255 of file CbmMuchDigitizeGem.h.

Referenced by GenerateNoisePerModule(), and SetPerPadNoiseRate().

◆ fPoints

TClonesArray* CbmMuchDigitizeGem::fPoints
private

Definition at line 193 of file CbmMuchDigitizeGem.h.

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

◆ fPreviousEventTime

Double_t CbmMuchDigitizeGem::fPreviousEventTime = -1
private

Definition at line 256 of file CbmMuchDigitizeGem.h.

Referenced by Exec(), and GenerateNoise().

◆ fProduceNoise

Bool_t CbmDigitizeBase::fProduceNoise
protectedinherited

◆ fQMax

UInt_t CbmMuchDigitizeGem::fQMax
private

◆ fQThreshold

UInt_t CbmMuchDigitizeGem::fQThreshold
private

◆ fRpcTX

Double_t CbmMuchDigitizeGem::fRpcTX = 0.0
private

Definition at line 295 of file CbmMuchDigitizeGem.h.

Referenced by ExecPoint(), and Init().

◆ fRpcTY

Double_t CbmMuchDigitizeGem::fRpcTY = 0.0
private

Definition at line 296 of file CbmMuchDigitizeGem.h.

Referenced by ExecPoint(), and Init().

◆ fRunStartTime

Double_t CbmDigitizeBase::fRunStartTime = 0
protectedinherited

Flag for creation of links to MC.

Definition at line 188 of file CbmDigitizeBase.h.

Referenced by CbmRichDigitizer::Exec(), CbmStsDigitize::Exec(), and CbmDigitizeBase::SetRunStartTime().

◆ fSigma

TF1* CbmMuchDigitizeGem::fSigma[3]
private

◆ fSpotRadius

Double_t CbmMuchDigitizeGem::fSpotRadius
private

Definition at line 216 of file CbmMuchDigitizeGem.h.

Referenced by DetectorParameters(), ExecPoint(), and SetSpotRadius().

◆ fTimeBinWidth

Double_t CbmMuchDigitizeGem::fTimeBinWidth
private

Definition at line 226 of file CbmMuchDigitizeGem.h.

Referenced by SetTimeBinWidth().

◆ fTimeDigiFirst

Double_t CbmMuchDigitizeGem::fTimeDigiFirst
private

Time of first digi sent to DAQ.

Definition at line 240 of file CbmMuchDigitizeGem.h.

Referenced by ConvertSignalToDigi(), ReadAndRegister(), and Reset().

◆ fTimeDigiLast

Double_t CbmMuchDigitizeGem::fTimeDigiLast
private

Time of last digi sent to DAQ.

Definition at line 241 of file CbmMuchDigitizeGem.h.

Referenced by ConvertSignalToDigi(), ReadAndRegister(), and Reset().

◆ fTimePointLast

Double_t CbmMuchDigitizeGem::fTimePointLast
private

Definition at line 237 of file CbmMuchDigitizeGem.h.

◆ fTimer

TStopwatch CbmMuchDigitizeGem::fTimer
private

Definition at line 220 of file CbmMuchDigitizeGem.h.

Referenced by Exec(), and Finish().

◆ fTimeTot

Double_t CbmMuchDigitizeGem::fTimeTot
private

Total execution time.

Definition at line 252 of file CbmMuchDigitizeGem.h.

Referenced by Exec(), and Finish().

◆ fTOT

Bool_t CbmMuchDigitizeGem::fTOT
private

Definition at line 229 of file CbmMuchDigitizeGem.h.

Referenced by SetTimeOverThreshold().

◆ fTotalDriftTime

Double_t CbmMuchDigitizeGem::fTotalDriftTime
private

Definition at line 230 of file CbmMuchDigitizeGem.h.

Referenced by DetectorParameters(), and ExecPoint().


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