CbmRoot
|
#include <CbmMuchDigitizeGem.h>
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 | |
CbmMuchDigitizeGem & | operator= (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) |
CbmMuchDigi * | ConvertSignalToDigi (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 |
CbmMuchGeoScheme * | fGeoScheme |
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, Data > | fDaqBuffer |
Output array (CbmMatch) | |
Definition at line 68 of file CbmMuchDigitizeGem.h.
|
inherited |
Short for data to be handled (pair of digi and match)
Definition at line 48 of file CbmDigitize.h.
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::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.
|
delete |
|
virtual |
|
private |
Definition at line 1257 of file CbmMuchDigitizeGem.cxx.
References CbmMuchSignal::AddNoise(), CbmDigitizeBase::fCurrentEventTime, CbmDigitizeBase::fCurrentInput, CbmDigitizeBase::fCurrentMCEntry, CbmReadoutBuffer< Data >::Fill(), fMeanNoise, fNofSignals, CbmMuchPad::GetAddress(), CbmMuchSignal::GetMatch(), CbmMuchReadoutBuffer::Instance(), and CbmMuchSignal::SetCharge().
|
private |
Definition at line 1185 of file CbmMuchDigitizeGem.cxx.
References fAddressCharge, CbmMuchPad::GetAddress(), CbmMuchSectorRadial::GetPadByPhi(), CbmMuchPadRadial::GetPhi1(), and CbmMuchPadRadial::GetPhi2().
Referenced by ExecPoint().
void CbmMuchDigitizeGem::AddNoiseSignal | ( | CbmMuchPad * | pad, |
Double_t | time, | ||
Double_t | charge ) |
Definition at line 664 of file CbmMuchDigitizeGem.cxx.
References CbmReadoutBuffer< Data >::Fill(), fNofNoiseSignals, CbmMuchPad::GetAddress(), CbmMuchReadoutBuffer::Instance(), and CbmMuchSignal::SetCharge().
Referenced by GenerateNoisePerModule().
Bool_t CbmMuchDigitizeGem::BufferSignals | ( | Int_t | iPoint, |
Double_t | time, | ||
Double_t | driftTime ) |
Definition at line 1285 of file CbmMuchDigitizeGem.cxx.
References CbmMuchSignal::AddNoise(), fAddressCharge, CbmDigitizeBase::fCurrentEvent, CbmDigitizeBase::fCurrentEventTime, CbmDigitizeBase::fCurrentInput, CbmDigitizeBase::fCurrentMCEntry, CbmReadoutBuffer< Data >::Fill(), fMeanNoise, fNofSignals, fPoints, CbmMuchSignal::GetCharge(), CbmMuchSignal::GetMatch(), CbmMuchReadoutBuffer::Instance(), and CbmMuchSignal::SetCharge().
Referenced by ExecPoint().
|
inlinevirtualinherited |
Check the output for being time-sorted.
Implements CbmDigitizeBase.
Definition at line 67 of file CbmDigitize.h.
|
privateinherited |
|
inlinevirtualinherited |
CbmMuchDigi * CbmMuchDigitizeGem::ConvertSignalToDigi | ( | CbmMuchSignal * | signal | ) |
Definition at line 734 of file CbmMuchDigitizeGem.cxx.
References DetectorParameters(), fGeoScheme, fNADCChannels, fNofDigis, fQMax, fQThreshold, fTimeDigiFirst, fTimeDigiLast, CbmMuchSignal::GetAddress(), CbmMuchSignal::GetCharge(), CbmMuchStation::GetLayer(), CbmMuchAddress::GetLayerIndex(), CbmMuchAddress::GetLayerSideIndex(), CbmMuchLayerSide::GetModule(), CbmMuchLayer::GetSide(), CbmMuchGeoScheme::GetStation(), CbmMuchAddress::GetStationIndex(), CbmMuchSignal::GetTimeStamp(), CbmMuchDigi::SetAdc(), CbmMuchDigi::SetAddress(), and CbmMuchDigi::SetTime().
Referenced by ReadAndRegister().
|
private |
Definition at line 286 of file CbmMuchDigitizeGem.cxx.
References fDeadPadsFrac, fDriftVelocity, fDTime, fMeanGasGain, fMeanNoise, fNADCChannels, fQMax, fQThreshold, fSpotRadius, and fTotalDriftTime.
Referenced by ConvertSignalToDigi(), ExecPoint(), and Init().
|
virtual |
Execution.
Definition at line 534 of file CbmMuchDigitizeGem.cxx.
References ExecPoint(), CbmDigitizeBase::fCurrentEvent, CbmDigitizeBase::fCurrentEventTime, CbmDigitizeBase::fCurrentInput, CbmDigitizeBase::fEventMode, fGenerateElectronicsNoise, fNofDigis, fNofDigisTot, fNofEvents, fNofNoiseSignals, fNofNoiseTot, fNofPoints, fNofPointsTot, fNofSignals, fNofSignalsTot, fPoints, fPreviousEventTime, fTimer, fTimeTot, GenerateNoise(), CbmDigitizeBase::GetEventInfo(), ReadAndRegister(), and Reset().
|
private |
Advanced digis production using avalanches.
Definition at line 863 of file CbmMuchDigitizeGem.cxx.
References AddCharge(), BufferSignals(), DetectorParameters(), fAddressCharge, fAlgorithm, fFlag, fGemTX, fGemTY, fGeoScheme, fQMax, fRpcTX, fRpcTY, fSpotRadius, fTotalDriftTime, GasGain(), CbmMuchModule::GetDetectorType(), CbmMuchPad::GetDx(), CbmMuchPad::GetDy(), CbmMuchGeoScheme::GetModuleByDetId(), CbmMuchSector::GetNChannels(), GetNPrimaryElectronsPerCm(), CbmMuchModuleGem::GetNSectors(), CbmMuchModuleGemRadial::GetPad(), CbmMuchModuleGemRectangular::GetPad(), CbmMuchSector::GetPadByChannelIndex(), CbmMuchSectorRadial::GetR1(), CbmMuchSectorRadial::GetR2(), CbmMuchModuleGemRectangular::GetSector(), CbmMuchModuleGem::GetSectorByIndex(), CbmMuchModuleGemRadial::GetSectorByRadius(), CbmMuchPad::GetX(), CbmMuchPad::GetY(), CbmMuchPoint::PositionIn(), CbmMuchPoint::PositionOut(), v, x, and y.
Referenced by Exec().
|
inlinevirtualinherited |
Fill custom data into time slice.
fillTime | Time until data can be filled |
limit | If 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.
|
inlinevirtualinherited |
Move data from the DaqBuffer into the current time slice.
timeSlice | Pointer 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.
|
inlineprivateinherited |
Move data from the DaqBuffer into the current time slice.
timeSlice | Pointer to current time slice object |
fillTime | Time 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.
|
inlinevirtualinherited |
Move data from the DaqBuffer into the current time slice.
timeSlice | Pointer to current time slice object |
fillTime | Time 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.
|
virtual |
Execution.
Definition at line 799 of file CbmMuchDigitizeGem.cxx.
References CbmDigitizeBase::fEventMode, fNofDigis, fNofDigisTot, fNofEvents, fNofNoiseTot, fNofPoints, fNofPointsTot, fNofSignals, fNofSignalsTot, fTimer, fTimeTot, CbmReadoutBuffer< Data >::GetNData(), CbmMuchReadoutBuffer::Instance(), ReadAndRegister(), and Reset().
|
inlineprivate |
Builds a TPolyLine from given rectangle parameters (no rotation angle).
x0 | X of the center. |
y0 | Y of the center. |
width | Width. |
height | Height. |
Definition at line 1075 of file CbmMuchDigitizeGem.cxx.
References fMeanGasGain.
Referenced by ExecPoint().
Int_t CbmMuchDigitizeGem::GenerateNoise | ( | Double_t | t1, |
Double_t | t2 ) |
modified for rpc
modified for rpc
Definition at line 593 of file CbmMuchDigitizeGem.cxx.
References CbmDigitizeBase::fCurrentEvent, CbmDigitizeBase::fCurrentEventTime, fGeoScheme, fPreviousEventTime, GenerateNoisePerModule(), CbmMuchModule::GetDetectorType(), CbmMuchStation::GetLayer(), CbmMuchLayerSide::GetModule(), CbmMuchStation::GetNLayers(), CbmMuchLayerSide::GetNModules(), CbmMuchGeoScheme::GetNStations(), CbmMuchLayer::GetSide(), and CbmMuchGeoScheme::GetStation().
Referenced by Exec().
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().
|
inlinevirtualinherited |
Size of DAQ buffer @value Number of data in the DAQ buffer.
Implements CbmDigitizeBase.
Definition at line 140 of file CbmDigitize.h.
|
inlinevirtualinherited |
Debug output of DAQ buffer status @value String with status of DAQ buffer.
Implements CbmDigitizeBase.
Definition at line 148 of file CbmDigitize.h.
|
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.
|
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.
|
inline |
|
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().
|
inlineinherited |
Current event time @value Start time of current event [ns].
Definition at line 113 of file CbmDigitizeBase.h.
References CbmDigitizeBase::fCurrentEventTime.
|
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.
|
inline |
|
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().
|
inlinevirtual |
Detector system ID.
Implements CbmDigitizeBase.
Definition at line 88 of file CbmMuchDigitizeGem.h.
References kMuch.
|
privatevirtual |
Initialization.
Save old global file and folder pointer to avoid messing with FairRoot
Restore old global file and folder pointer to avoid messing with FairRoot
Definition at line 325 of file CbmMuchDigitizeGem.cxx.
References DetectorParameters(), fDigiFile, CbmDigitizeBase::fEventMode, fFlag, fGemTX, fGemTY, fGeoScheme, CbmDigitizeBase::fInactiveChannelFileName, CbmDigitizeBase::fInactiveChannels, fMCTracks, fPoints, fRpcTX, fRpcTY, CbmMuchModule::GetDetectorType(), CbmMuchStation::GetLayer(), CbmMuchLayerSide::GetModule(), CbmMuchStation::GetNLayers(), CbmMuchLayerSide::GetNModules(), CbmMuchGeoScheme::GetNStations(), CbmMuchLayer::GetSide(), CbmMuchGeoScheme::GetStation(), CbmMuchGeoScheme::Init(), CbmDigitizeBase::ReadInactiveChannels(), and CbmDigitize< CbmMuchDigi >::RegisterOutput().
|
inlineprivateinherited |
Test if the channel of a digi object is set active.
digi | object |
Definition at line 350 of file CbmDigitize.h.
Double_t CbmMuchDigitizeGem::MPV_n_e | ( | Double_t | Tkin, |
Double_t | mass ) |
Parameterization of most probable value for electrons for Landau distribution.
logT | Logarithm of electron kinetic energy (energy in [MeV]). |
mass | Mass 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().
|
delete |
void CbmMuchDigitizeGem::ReadAndRegister | ( | Long_t | eventTime | ) |
Definition at line 690 of file CbmMuchDigitizeGem.cxx.
References ConvertSignalToDigi(), fNofDigis, fTimeDigiFirst, fTimeDigiLast, CbmMuchDigi::GetAddress(), CbmMuchAddress::GetChannelIndex(), CbmMuchAddress::GetSectorIndex(), CbmMuchDigi::GetTime(), CbmMuchReadoutBuffer::Instance(), CbmReadoutBuffer< Data >::ReadOutData(), and CbmDigitize< CbmMuchDigi >::SendData().
|
protectedvirtualinherited |
Set of inactive channels, indicated by CbmAddress.
Read the list of inactive channels from file
fileName | File name |
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().
|
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().
|
private |
Definition at line 277 of file CbmMuchDigitizeGem.cxx.
References fNofDigis, fNofPoints, fNofSignals, fTimeDigiFirst, and fTimeDigiLast.
Referenced by CbmMuchDigitizeGem(), CbmMuchDigitizeGem(), Exec(), and Finish().
|
inlineinherited |
Send a digi and the corresponding match object to the DAQ.
time | Global time of the digi |
digi | Pointer to digi object (template parameter) |
match | Pointer 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().
|
inline |
Definition at line 167 of file CbmMuchDigitizeGem.h.
References fAlgorithm.
|
inlineinherited |
Set creation of links to MC.
Choice | If 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().
|
inline |
Sets the probability (normalized to unity) to find a dead pad.
deadPadsFrac | Probability to find a dead pad (0-1). |
Definition at line 131 of file CbmMuchDigitizeGem.h.
References fDeadPadsFrac.
|
inline |
Definition at line 163 of file CbmMuchDigitizeGem.h.
References fDriftVelocity.
|
inline |
Sets the time resolution.
dTime | Time resolution [ns]. |
Definition at line 136 of file CbmMuchDigitizeGem.h.
References fDTime.
|
inlineinherited |
Set event-by-event mode.
Choice | If 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().
|
inline |
Definition at line 174 of file CbmMuchDigitizeGem.h.
References fGenerateElectronicsNoise.
|
inlineinherited |
Set the file containing the list of inactive channels.
fileName | Name 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.
|
inline |
Definition at line 170 of file CbmMuchDigitizeGem.h.
References fIsLight.
|
inline |
Definition at line 161 of file CbmMuchDigitizeGem.h.
References fMcChain.
|
inline |
Sets mean gas gain value.
gasGain | Mean gas gain value [electrons] (10000 by default). |
Definition at line 101 of file CbmMuchDigitizeGem.h.
References fMeanGasGain.
|
inline |
Sets mean electronics noise value.
meanNoise | Mean noise value [electrons] (0 by default). |
Definition at line 125 of file CbmMuchDigitizeGem.h.
References fMeanNoise.
|
inline |
Sets number of ADC channels.
nADCChannels | Number of ADC channels (256 by default). |
Definition at line 119 of file CbmMuchDigitizeGem.h.
References fNADCChannels.
|
inline |
Definition at line 178 of file CbmMuchDigitizeGem.h.
References fPerPadNoiseRate.
|
inlineinherited |
Set production of inter-event noise.
Choice | If kTRUE, the digitizer will produce noise |
Definition at line 175 of file CbmDigitizeBase.h.
References CbmDigitizeBase::fProduceNoise.
Referenced by CbmDigitization::Run().
|
inline |
Sets maximal charge which a pad able to collect.
qMax | Charge value [electrons] (440000 by default). |
Definition at line 107 of file CbmMuchDigitizeGem.h.
References fQMax.
|
inline |
Sets charge threshold [ADC channels] for pads.
qThreshold | Charge threshold value [ADC channels] (3 by default). |
Definition at line 113 of file CbmMuchDigitizeGem.h.
References fQThreshold.
|
inlineinherited |
Set the run start time.
Run | start time [ns] |
Definition at line 181 of file CbmDigitizeBase.h.
References CbmDigitizeBase::fRunStartTime.
Referenced by CbmDigitization::Run().
|
inline |
Sets radius of a spot from secondary electrons.
spotRadius | Spot radius [cm] (0.03 cm by default). |
Definition at line 95 of file CbmMuchDigitizeGem.h.
References fSpotRadius.
|
inline |
Definition at line 166 of file CbmMuchDigitizeGem.h.
References fTimeBinWidth.
|
inline |
Definition at line 168 of file CbmMuchDigitizeGem.h.
References fTOT.
Double_t CbmMuchDigitizeGem::Sigma_n_e | ( | Double_t | Tkin, |
Double_t | mass ) |
Parameterization of sigma for electrons for Landau distribution.
logT | Logarithm of electron kinetic energy (energy in [MeV]). |
mass | Mass 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().
|
private |
Function to sample the noise charge.
Definition at line 265 of file CbmMuchDigitizeGem.h.
Referenced by AddCharge(), BufferSignals(), and ExecPoint().
|
private |
Definition at line 190 of file CbmMuchDigitizeGem.h.
Referenced by ExecPoint(), and SetAlgorithm().
|
privateinherited |
Output branch name.
Definition at line 248 of file CbmDigitize.h.
|
protectedinherited |
Flag for production of inter-event noise.
Definition at line 187 of file CbmDigitizeBase.h.
Referenced by CbmDigitize< Digi >::ClearOutput(), CbmStsDigitize::CreateDigi(), CbmBmonDigitize::Exec(), CbmFsdDigitize::Exec(), CbmMvdDigitizer::Exec(), CbmStsDigitizePixel::Exec(), CbmDigitize< Digi >::FillTimeSlice(), CbmMvdDigitizer::Finish(), CbmRichDigitizer::ProcessBuffers(), CbmDigitize< Digi >::RegisterOutput(), CbmFsdDigitize::ReleaseBuffer(), and CbmDigitizeBase::SetCreateMatches().
|
protectedinherited |
Number of current input.
Definition at line 190 of file CbmDigitizeBase.h.
Referenced by BufferSignals(), CbmFsdDigitize::Exec(), Exec(), CbmMvdDigitizer::Exec(), CbmPsdSimpleDigitizer::Exec(), CbmRichDigitizer::Exec(), CbmTofDigitize::Exec(), CbmTrdDigitizer::Exec(), GenerateNoise(), CbmDigitizeBase::GetEventInfo(), and CbmRichDigitizer::ProcessMcEvent().
|
protectedinherited |
Number of current MC entry.
Definition at line 192 of file CbmDigitizeBase.h.
Referenced by AddCharge(), CbmRichDigitizer::AddEventNoise(), BufferSignals(), CbmBmonDigitize::Exec(), CbmFsdDigitize::Exec(), Exec(), CbmMvdDigitizer::Exec(), CbmPsdSimpleDigitizer::Exec(), CbmRichDigitizer::Exec(), CbmStsDigitize::Exec(), CbmStsDigitizePixel::Exec(), CbmTofDigitize::Exec(), CbmTrdDigitizer::Exec(), GenerateNoise(), CbmDigitizeBase::GetEventInfo(), CbmDigitizeBase::GetEventTime(), CbmTofDigitize::MergeSameChanDigis(), CbmStsDigitize::ProcessMCEvent(), CbmRichDigitizer::ProcessMcEvent(), CbmRichDigitizer::ProcessPoint(), and CbmFsdDigitize::ReleaseBuffer().
|
protectedinherited |
Start time of run [ns].
Definition at line 189 of file CbmDigitizeBase.h.
Referenced by AddCharge(), BufferSignals(), CbmBmonDigitize::Exec(), CbmFsdDigitize::Exec(), Exec(), CbmPsdSimpleDigitizer::Exec(), CbmStsDigitizePixel::Exec(), CbmTrdDigitizer::Exec(), CbmDigitizeBase::GetEventInfo(), CbmTofDigitize::MergeSameChanDigis(), CbmStsDigitize::ProcessMCEvent(), and CbmRichDigitizer::ProcessMcEvent().
|
protectedinherited |
Number of current MC event.
Definition at line 191 of file CbmDigitizeBase.h.
Referenced by AddCharge(), BufferSignals(), CbmBmonDigitize::Exec(), CbmFsdDigitize::Exec(), CbmPsdSimpleDigitizer::Exec(), CbmStsDigitizePixel::Exec(), CbmTrdDigitizer::Exec(), CbmDigitizeBase::GetEventInfo(), CbmTofDigitize::MergeSameChanDigis(), CbmStsDigitize::ProcessMCEvent(), and CbmRichDigitizer::ProcessMcEvent().
|
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.
|
private |
Definition at line 219 of file CbmMuchDigitizeGem.h.
Referenced by DetectorParameters(), and SetDeadPadsFrac().
|
private |
Definition at line 222 of file CbmMuchDigitizeGem.h.
|
private |
Definition at line 192 of file CbmMuchDigitizeGem.h.
Referenced by Init().
|
privateinherited |
Definition at line 249 of file CbmDigitize.h.
|
private |
Definition at line 223 of file CbmMuchDigitizeGem.h.
Referenced by DetectorParameters(), and SetDriftVelocity().
|
private |
Definition at line 218 of file CbmMuchDigitizeGem.h.
Referenced by DetectorParameters(), GetDTime(), and SetDTime().
|
protectedinherited |
Definition at line 185 of file CbmDigitizeBase.h.
Referenced by CbmTofDigitize::DigitizeDirectClusterSize(), CbmFsdDigitize::Exec(), Exec(), CbmRichDigitizer::Exec(), CbmStsDigitize::Exec(), CbmFsdDigitize::Finish(), Finish(), CbmRichDigitizer::Finish(), CbmStsDigitize::Finish(), CbmFsdDigitize::Init(), Init(), CbmMvdDigitizer::Init(), CbmRichDigitizer::Init(), CbmTofDigitize::Init(), CbmTrdDigitizer::Init(), CbmStsDigitize::InitParams(), CbmStsDigitizePixel::InitParams(), and CbmDigitizeBase::SetEventMode().
|
private |
Definition at line 202 of file CbmMuchDigitizeGem.h.
Referenced by ExecPoint(), and Init().
|
private |
Definition at line 292 of file CbmMuchDigitizeGem.h.
Referenced by ExecPoint(), and Init().
|
private |
Definition at line 293 of file CbmMuchDigitizeGem.h.
Referenced by ExecPoint(), and Init().
|
private |
Previous Event Time.
Definition at line 258 of file CbmMuchDigitizeGem.h.
Referenced by Exec(), and SetGenerateNoise().
|
private |
Definition at line 191 of file CbmMuchDigitizeGem.h.
Referenced by ConvertSignalToDigi(), ExecPoint(), GenerateNoise(), and Init().
|
protectedinherited |
Time of current MC event [ns].
Definition at line 193 of file CbmDigitizeBase.h.
Referenced by CbmBmonDigitize::Init(), Init(), CbmMvdDigitizer::Init(), CbmPsdSimpleDigitizer::Init(), CbmRichDigitizer::Init(), CbmStsDigitize::Init(), CbmTofDigitize::Init(), CbmTrdDigitizer::Init(), CbmDigitizeBase::ReadInactiveChannels(), CbmStsDigitize::ReadInactiveChannels(), and CbmDigitizeBase::SetInactiveChannelFile().
|
protectedinherited |
Name of file with inactive channels.
Definition at line 194 of file CbmDigitizeBase.h.
Referenced by CbmBmonDigitize::Init(), Init(), CbmMvdDigitizer::Init(), CbmPsdSimpleDigitizer::Init(), CbmRichDigitizer::Init(), CbmTofDigitize::Init(), CbmTrdDigitizer::Init(), CbmDigitize< Digi >::IsChannelActive(), and CbmDigitizeBase::ReadInactiveChannels().
|
private |
Definition at line 234 of file CbmMuchDigitizeGem.h.
Referenced by SetLight().
|
privateinherited |
Output array (Digi)
Definition at line 250 of file CbmDigitize.h.
|
private |
Definition at line 221 of file CbmMuchDigitizeGem.h.
Referenced by SetMcChain().
|
private |
Definition at line 194 of file CbmMuchDigitizeGem.h.
Referenced by GetNPrimaryElectronsPerCm(), and Init().
|
private |
Definition at line 217 of file CbmMuchDigitizeGem.h.
Referenced by DetectorParameters(), GasGain(), and SetMeanGasGain().
|
private |
Definition at line 215 of file CbmMuchDigitizeGem.h.
Referenced by AddCharge(), BufferSignals(), DetectorParameters(), and SetMeanNoise().
|
private |
Definition at line 233 of file CbmMuchDigitizeGem.h.
Referenced by CbmMuchDigitizeGem(), CbmMuchDigitizeGem(), MPV_n_e(), and ~CbmMuchDigitizeGem().
|
private |
Definition at line 212 of file CbmMuchDigitizeGem.h.
Referenced by ConvertSignalToDigi(), DetectorParameters(), and SetNADCChannels().
|
private |
Definition at line 199 of file CbmMuchDigitizeGem.h.
|
private |
Definition at line 201 of file CbmMuchDigitizeGem.h.
|
private |
Number of created digis in Exec.
Definition at line 245 of file CbmMuchDigitizeGem.h.
Referenced by ConvertSignalToDigi(), Exec(), Finish(), ReadAndRegister(), and Reset().
|
private |
Total number of digis created.
Definition at line 251 of file CbmMuchDigitizeGem.h.
|
private |
Total number of events processed.
Definition at line 248 of file CbmMuchDigitizeGem.h.
|
private |
Definition at line 260 of file CbmMuchDigitizeGem.h.
Referenced by AddNoiseSignal(), and Exec().
|
private |
Set this boolean variable to True if want to generated Elecronics Noise.
Definition at line 259 of file CbmMuchDigitizeGem.h.
|
private |
Number of points processed in Exec.
Definition at line 243 of file CbmMuchDigitizeGem.h.
|
private |
Total number of points processed.
Definition at line 249 of file CbmMuchDigitizeGem.h.
|
private |
Number of signals.
Definition at line 244 of file CbmMuchDigitizeGem.h.
Referenced by AddCharge(), BufferSignals(), Exec(), Finish(), GetNofSignals(), and Reset().
|
private |
Total Number of signals.
Definition at line 250 of file CbmMuchDigitizeGem.h.
|
private |
Definition at line 261 of file CbmMuchDigitizeGem.h.
Referenced by CbmMuchDigitizeGem(), CbmMuchDigitizeGem(), and GenerateNoisePerModule().
|
private |
Definition at line 200 of file CbmMuchDigitizeGem.h.
|
private |
Definition at line 227 of file CbmMuchDigitizeGem.h.
|
private |
Definition at line 255 of file CbmMuchDigitizeGem.h.
Referenced by GenerateNoisePerModule(), and SetPerPadNoiseRate().
|
private |
Definition at line 193 of file CbmMuchDigitizeGem.h.
Referenced by BufferSignals(), Exec(), and Init().
|
private |
Definition at line 256 of file CbmMuchDigitizeGem.h.
Referenced by Exec(), and GenerateNoise().
|
protectedinherited |
Flag for event-by-event mode.
Definition at line 186 of file CbmDigitizeBase.h.
Referenced by CbmRichDigitizer::Exec(), CbmStsDigitize::InitParams(), CbmStsDigitizePixel::InitParams(), and CbmDigitizeBase::SetProduceNoise().
|
private |
Definition at line 213 of file CbmMuchDigitizeGem.h.
Referenced by CbmMuchDigitizeGem(), CbmMuchDigitizeGem(), ConvertSignalToDigi(), DetectorParameters(), ExecPoint(), and SetQMaximum().
|
private |
Definition at line 214 of file CbmMuchDigitizeGem.h.
Referenced by CbmMuchDigitizeGem(), CbmMuchDigitizeGem(), ConvertSignalToDigi(), DetectorParameters(), and SetQThreshold().
|
private |
Definition at line 295 of file CbmMuchDigitizeGem.h.
Referenced by ExecPoint(), and Init().
|
private |
Definition at line 296 of file CbmMuchDigitizeGem.h.
Referenced by ExecPoint(), and Init().
|
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().
|
private |
Definition at line 232 of file CbmMuchDigitizeGem.h.
Referenced by CbmMuchDigitizeGem(), CbmMuchDigitizeGem(), Sigma_n_e(), and ~CbmMuchDigitizeGem().
|
private |
Definition at line 216 of file CbmMuchDigitizeGem.h.
Referenced by DetectorParameters(), ExecPoint(), and SetSpotRadius().
|
private |
Definition at line 226 of file CbmMuchDigitizeGem.h.
Referenced by SetTimeBinWidth().
|
private |
Time of first digi sent to DAQ.
Definition at line 240 of file CbmMuchDigitizeGem.h.
Referenced by ConvertSignalToDigi(), ReadAndRegister(), and Reset().
|
private |
Time of last digi sent to DAQ.
Definition at line 241 of file CbmMuchDigitizeGem.h.
Referenced by ConvertSignalToDigi(), ReadAndRegister(), and Reset().
|
private |
Definition at line 237 of file CbmMuchDigitizeGem.h.
|
private |
Definition at line 220 of file CbmMuchDigitizeGem.h.
|
private |
Total execution time.
Definition at line 252 of file CbmMuchDigitizeGem.h.
|
private |
Definition at line 229 of file CbmMuchDigitizeGem.h.
Referenced by SetTimeOverThreshold().
|
private |
Definition at line 230 of file CbmMuchDigitizeGem.h.
Referenced by DetectorParameters(), and ExecPoint().