CbmRoot
|
Task class for simulating the detector response of the STS. More...
#include <CbmStsDigitize.h>
Public Types | |
typedef std::pair< std::unique_ptr< CbmStsDigi >, std::unique_ptr< CbmMatch > > | Data |
Short for data to be handled (pair of digi and match) More... | |
Public Member Functions | |
CbmStsDigitize () | |
virtual | ~CbmStsDigitize () |
void | CreateDigi (Int_t address, UShort_t channel, Long64_t time, UShort_t adc, const CbmMatch &match) |
ECbmModuleId | GetSystemId () const |
Detector system ID. More... | |
virtual void | SetParContainers () |
Inherited from FairTask. More... | |
virtual void | Exec (Option_t *opt) |
Int_t | GetNofSignalsF () const |
Int_t | GetNofSignalsB () const |
void | InitSetup () |
virtual InitStatus | ReInit () |
void | SetGlobalAsicParams (UInt_t nAdc, Double_t dynRange, Double_t threshold, Double_t timeResolution, Double_t deadTime, Double_t noise, Double_t zeroNoiseRate) |
Set individual module parameters. More... | |
void | SetGlobalModuleParams (UInt_t nChannels, UInt_t nAsicChannels) |
Set the global module parameters. More... | |
void | SetGlobalSensorConditions (Double_t vDep, Double_t vBias, Double_t temperature, Double_t cCoupling, Double_t cInterstrip) |
Set the global sensor conditions. More... | |
void | SetModuleParameterFile (const char *fileName) |
Set the file name with module parameters. More... | |
void | SetProcesses (CbmStsELoss eLossModel, Bool_t useLorentzShift=kTRUE, Bool_t useDiffusion=kTRUE, Bool_t useCrossTalk=kTRUE) |
void | SetSensorConditionFile (const char *fileName) |
Set the file name with sensor conditions. More... | |
void | SetSensorParameterFile (const char *fileName) |
Set the file name with sensor parameters. More... | |
void | UseOnlyPrimaries (Bool_t flag=kTRUE) |
Discard processing of secondary tracks. More... | |
Bool_t | CheckOutput () |
Check the output for being time-sorted. More... | |
void | ClearOutput () |
Clear the output arrays. More... | |
ULong64_t | FillTimeSlice (CbmTimeSlice *timeSlice) |
Move data from the DaqBuffer into the current time slice. More... | |
ULong64_t | FillTimeSlice (CbmTimeSlice *timeSlice, Double_t fillTime) |
Move data from the DaqBuffer into the current time slice. More... | |
ULong64_t | GetDaqBufferSize () const |
Size of DAQ buffer @value Number of data in the DAQ buffer. More... | |
virtual ULong64_t | GetDaqBufferSize () const =0 |
Size of DAQ buffer @value Number of data in the DAQ buffer. More... | |
std::string | GetDaqBufferStatus () const |
Debug output of DAQ buffer status @value String with status of DAQ buffer. More... | |
virtual std::string | GetDaqBufferStatus () const =0 |
Status of DAQ buffer @value Status string of the DAQ buffer. More... | |
Double_t | GetDaqBufferTimeFirst () const |
Time stamp of first data in the DAQ buffer @value Time stamp of first data in the DAQ buffer. More... | |
virtual Double_t | GetDaqBufferTimeFirst () const =0 |
Time of first datum in DAQ buffer @value Time of first datum in DAQ buffer. More... | |
Double_t | GetDaqBufferTimeLast () const |
Time stamp of last data in the DAQ buffer @value Time stamp of last data in the DAQ buffer. More... | |
virtual Double_t | GetDaqBufferTimeLast () const =0 |
Time of last datum in DAQ buffer @value Time of last datum in DAQ buffer. More... | |
void | RegisterOutput () |
Register the output arrays. More... | |
void | SendData (CbmStsDigi *digi, CbmMatch *match=nullptr) |
Send a digi and the corresponding match object to the DAQ. More... | |
virtual void | FillCustomData (Double_t, Bool_t=kTRUE) |
Fill custom data into time slice. More... | |
void | GetEventInfo () |
Get event information. More... | |
Double_t | GetEventTime () const |
Current event time @value Start time of current event [ns]. More... | |
void | SetCreateMatches (Bool_t choice=kTRUE) |
Set creation of links to MC. More... | |
void | SetEventMode (Bool_t choice=kTRUE) |
Set event-by-event mode. More... | |
void | SetProduceNoise (Bool_t choice=kTRUE) |
Set production of inter-event noise. More... | |
Protected Attributes | |
Bool_t | fEventMode |
Bool_t | fProduceNoise |
Flag for event-by-event mode. More... | |
Bool_t | fCreateMatches |
Flag for production of inter-event noise. More... | |
Int_t | fCurrentInput |
Flag for creation of links to MC. More... | |
Int_t | fCurrentEvent |
Number of current input. More... | |
Int_t | fCurrentMCEntry |
Number of current MC event. More... | |
Double_t | fCurrentEventTime |
Number of current MC entry. More... | |
Private Member Functions | |
Int_t | BufferSize () const |
Number of signals in the analogue buffers @value nSignals Sum of number of signals in all modules. More... | |
std::string | BufferStatus () const |
Status of the analogue buffers. More... | |
virtual void | Finish () |
virtual InitStatus | Init () |
UInt_t | InitModules () |
Instantiate modules. More... | |
void | InitParams () |
Initialise the parameters. More... | |
UInt_t | InitSensors () |
Instantiate sensors. More... | |
void | ProcessAnalogBuffers (Double_t readoutTime) |
void | ProcessMCEvent () |
void | ProcessPoint (const CbmStsPoint *point, Double_t eventTime=0., CbmLink *link=NULL) |
void | ResetCounters () |
Reset event counters. More... | |
void | SetGlobalDefaults () |
Set global default parameters. More... | |
CbmStsDigitize (const CbmStsDigitize &) | |
CbmStsDigitize | operator= (const CbmStsDigitize &) |
ClassDef (CbmStsDigitize, 5) | |
ULong64_t | FillTimeSlice (CbmTimeSlice *timeSlice, Bool_t checkLimit, Double_t fillTime) |
Move data from the DaqBuffer into the current time slice. More... | |
Private Attributes | |
Bool_t | fIsInitialised |
kTRUE if Init() was called More... | |
CbmStsSetup * | fSetup |
CbmStsSimSensorFactory * | fSensorFactory = nullptr |
STS setup interface. More... | |
TClonesArray * | fPoints |
Sensor factory. More... | |
TClonesArray * | fTracks |
Input array of CbmMCTrack. More... | |
TStopwatch | fTimer |
ROOT timer. More... | |
std::map< UInt_t, CbmStsSimModule * > | fModules {} |
std::map< UInt_t, std::unique_ptr< CbmStsSimSensor > > | fSensors {} |
CbmStsParSim * | fUserParSim = nullptr |
Settings for simulation. More... | |
CbmStsParAsic * | fUserParAsic = nullptr |
User defined, global. More... | |
CbmStsParModule * | fUserParModule = nullptr |
User defined, global. More... | |
CbmStsParSensor * | fUserParSensor = nullptr |
User defined, global. More... | |
CbmStsParSensorCond * | fUserParCond = nullptr |
User defined, global. More... | |
Double_t | fUserDinactive = 0. |
Size of inactive sensor border [cm]. More... | |
CbmStsParSim * | fParSim = nullptr |
Simulation settings. More... | |
CbmStsParSetModule * | fParSetModule = nullptr |
Module parameter. More... | |
CbmStsParSetSensor * | fParSetSensor = nullptr |
Sensor parameters. More... | |
CbmStsParSetSensorCond * | fParSetCond = nullptr |
Sensor conditions. More... | |
Double_t | fSensorDinact |
Size of inactive border [cm]. More... | |
Double_t | fSensorPitch |
Strip pitch [cm]. More... | |
Double_t | fSensorStereoF |
Stereo angle front side [degrees]. More... | |
Double_t | fSensorStereoB |
Stereo angle back side [degrees]. More... | |
TString | fSensorParameterFile |
File with sensor parameters. More... | |
TString | fSensorConditionFile |
File with sensor conditions. More... | |
TString | fModuleParameterFile |
File with module parameters. More... | |
Double_t | fTimePointLast |
Double_t | fTimeDigiFirst |
Time of first digi sent to DAQ. More... | |
Double_t | fTimeDigiLast |
Time of last digi sent to DAQ. More... | |
Int_t | fNofPointsProc = 0 |
Number of processed points. More... | |
Int_t | fNofPointsIgno = 0 |
Number of ignored points. More... | |
Int_t | fNofSignalsF = 0 |
Number of signals on front side. More... | |
Int_t | fNofSignalsB = 0 |
Number of signals on back side. More... | |
Int_t | fNofDigis = 0 |
Number of created digis in Exec. More... | |
Int_t | fNofEvents = 0 |
Total number of procesed events. More... | |
Double_t | fNofPointsProcTot = 0 |
Total number of processed points. More... | |
Double_t | fNofPointsIgnoTot = 0 |
Total number of ignored points. More... | |
Double_t | fNofSignalsFTot = 0 |
Number of signals on front side. More... | |
Double_t | fNofSignalsBTot = 0 |
Number of signals on back side. More... | |
Double_t | fNofDigisTot = 0 |
Total number of digis created. More... | |
Double_t | fNofNoiseTot = 0 |
Total number of noise digis. More... | |
Double_t | fTimeTot = 0. |
Total execution time. More... | |
TString | fBranchName |
Output branch name. More... | |
std::vector< CbmStsDigi > * | fDigis |
std::vector< CbmMatch > * | fMatches |
Output array (Digi) More... | |
std::multimap< double, Data > | fDaqBuffer |
Output array (CbmMatch) More... | |
Task class for simulating the detector response of the STS.
The STS digitiser task reads CbmStsPoint from the input and produces objects of type CbmStsDigi. The StsPoints are distributed to the respective sensors, where the analogue response is calculated. This is buffered and digitised by the connected module. The digitiser task triggers the readout of each module after the end of each call to Exec(), i.e. after processing one input MC event. All buffered data prior to the MC time of the current event are read out and stored in the output.
Definition at line 50 of file CbmStsDigitize.h.
|
inherited |
Short for data to be handled (pair of digi and match)
Definition at line 43 of file CbmDigitize.h.
CbmStsDigitize::CbmStsDigitize | ( | ) |
Constructor
Definition at line 70 of file CbmStsDigitize.cxx.
References ResetCounters(), and SetGlobalDefaults().
|
virtual |
Destructor
Definition at line 96 of file CbmStsDigitize.cxx.
|
private |
Prevent usage of copy constructor and assignment operator
|
private |
Number of signals in the analogue buffers @value nSignals Sum of number of signals in all modules.
Definition at line 101 of file CbmStsDigitize.cxx.
References fModules.
Referenced by Finish().
|
private |
Status of the analogue buffers.
[out] | nSignals | Sum of number of signals in alll modules @value String output |
Definition at line 118 of file CbmStsDigitize.cxx.
References fModules.
|
inlinevirtualinherited |
Check the output for being time-sorted.
Implements CbmDigitizeBase.
Definition at line 63 of file CbmDigitize.h.
|
private |
|
inlinevirtualinherited |
void CbmStsDigitize::CreateDigi | ( | Int_t | address, |
UShort_t | channel, | ||
Long64_t | time, | ||
UShort_t | adc, | ||
const CbmMatch & | match | ||
) |
Create a digi and send it for further processing
address | Unique channel address |
time | Absolute time [ns] |
adc | Digitised charge [ADC channels] |
match | MC Match object |
Definition at line 149 of file CbmStsDigitize.cxx.
References CbmDigitizeBase::fCreateMatches, fNofDigis, fTimeDigiFirst, fTimeDigiLast, and CbmDigitize< CbmStsDigi >::SendData().
Referenced by CbmStsSimModule::Digitize().
|
virtual |
Execution
Definition at line 173 of file CbmStsDigitize.cxx.
References BufferStatus(), CbmDigitizeBase::fCurrentEventTime, CbmDigitizeBase::fEventMode, fModules, fNofDigis, fNofDigisTot, fNofEvents, fNofNoiseTot, fNofPointsIgno, fNofPointsIgnoTot, fNofPointsProc, fNofPointsProcTot, fNofSignalsB, fNofSignalsBTot, fNofSignalsF, fNofSignalsFTot, fParSim, fTimer, fTimeTot, CbmDigitizeBase::GetEventInfo(), CbmStsParSim::Noise(), ProcessAnalogBuffers(), ProcessMCEvent(), and ResetCounters().
|
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 68 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 101 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 256 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 118 of file CbmDigitize.h.
|
privatevirtual |
End-of-run action
Definition at line 248 of file CbmStsDigitize.cxx.
References BufferSize(), BufferStatus(), CbmDigitizeBase::fEventMode, fModules, fNofDigis, fNofDigisTot, fNofEvents, fNofNoiseTot, fNofPointsIgno, fNofPointsIgnoTot, fNofPointsProc, fNofPointsProcTot, fNofSignalsB, fNofSignalsBTot, fNofSignalsF, fNofSignalsFTot, fTimeDigiFirst, fTimeDigiLast, fTimer, fTimeTot, and ResetCounters().
|
inlineinherited |
Size of DAQ buffer @value Number of data in the DAQ buffer.
Definition at line 128 of file CbmDigitize.h.
|
pure virtualinherited |
Size of DAQ buffer @value Number of data in the DAQ buffer.
Implemented in CbmDigitize< Digi >.
|
inlineinherited |
Debug output of DAQ buffer status @value String with status of DAQ buffer.
Definition at line 136 of file CbmDigitize.h.
|
pure virtualinherited |
Status of DAQ buffer @value Status string of the DAQ buffer.
Implemented in CbmDigitize< Digi >.
|
inlineinherited |
Time stamp of first data in the DAQ buffer @value Time stamp of first data in the DAQ buffer.
Definition at line 150 of file CbmDigitize.h.
|
pure virtualinherited |
Time of first datum in DAQ buffer @value Time of first datum in DAQ buffer.
Implemented in CbmDigitize< Digi >.
|
inlineinherited |
Time stamp of last data in the DAQ buffer @value Time stamp of last data in the DAQ buffer.
Definition at line 161 of file CbmDigitize.h.
|
pure virtualinherited |
Time of last datum in DAQ buffer @value Time of last datum in DAQ buffer.
Implemented in CbmDigitize< Digi >.
|
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 48 of file CbmDigitizeBase.cxx.
References CbmDigitizeBase::fCurrentEvent, CbmDigitizeBase::fCurrentEventTime, CbmDigitizeBase::fCurrentInput, and CbmDigitizeBase::fCurrentMCEntry.
Referenced by CbmMvdDigitizer::Exec(), CbmPsdSimpleDigitizer::Exec(), CbmRichDigitizer::Exec(), CbmTofDigitize::Exec(), CbmMuchDigitizeGem::Exec(), CbmTrdDigitizer::Exec(), and Exec().
|
inlineinherited |
Current event time @value Start time of current event [ns].
Definition at line 107 of file CbmDigitizeBase.h.
References CbmDigitizeBase::fCurrentEventTime.
|
inline |
Get number of signals back side
Definition at line 94 of file CbmStsDigitize.h.
References fNofSignalsB.
|
inline |
Get number of signals front side
Definition at line 90 of file CbmStsDigitize.h.
References fNofSignalsF.
|
inlinevirtual |
Detector system ID.
Implements CbmDigitizeBase.
Definition at line 77 of file CbmStsDigitize.h.
References kSts.
|
privatevirtual |
Initialisation
Definition at line 336 of file CbmStsDigitize.cxx.
References fIsInitialised, fPoints, fSetup, fTracks, CbmStsSetup::Init(), InitModules(), InitParams(), InitSensors(), CbmStsPhysics::Instance(), CbmStsSetup::Instance(), and CbmDigitize< CbmStsDigi >::RegisterOutput().
|
private |
Instantiate modules.
Definition at line 390 of file CbmStsDigitize.cxx.
References fModules, fParSetModule, fSetup, CbmStsElement::GetAddress(), CbmStsSetup::GetModule(), CbmStsSetup::GetNofModules(), and CbmStsParSetModule::GetParModule().
Referenced by Init().
|
private |
Initialise the parameters.
Definition at line 413 of file CbmStsDigitize.cxx.
References CbmStsParSetSensor::clear(), CbmStsParSetModule::clear(), CbmStsParSetSensorCond::clear(), CbmDigitizeBase::fEventMode, fParSetCond, fParSetModule, fParSetSensor, fParSim, CbmDigitizeBase::fProduceNoise, fSetup, fUserDinactive, fUserParAsic, fUserParCond, fUserParModule, fUserParSensor, fUserParSim, CbmStsElement::GetAddress(), CbmStsParSensor::GetClass(), CbmStsSetup::GetNofSensors(), CbmStsParSensor::GetPar(), CbmStsElement::GetPnode(), CbmStsSetup::GetSensor(), kDssdStereo, CbmStsParModule::SetAllAsics(), CbmStsParSim::SetEventMode(), CbmStsParSim::SetGenerateNoise(), CbmStsParSetModule::SetGlobalPar(), CbmStsParSetSensorCond::SetGlobalPar(), CbmStsParSensor::SetPar(), CbmStsParSetSensor::SetParSensor(), CbmStsParSetSensor::ToString(), CbmStsParSetModule::ToString(), CbmStsParSetSensorCond::ToString(), CbmStsParSim::ToString(), and CbmStsParAsic::ToString().
Referenced by Init().
|
private |
Instantiate sensors.
Definition at line 518 of file CbmStsDigitize.cxx.
References CbmStsSimSensorFactory::CreateSensor(), fModules, fParSetCond, fParSetSensor, fParSim, fSensorFactory, fSensors, fSetup, CbmStsElement::GetAddress(), CbmStsElement::GetMother(), CbmStsSetup::GetNofSensors(), CbmStsParSetSensor::GetParSensor(), CbmStsParSetSensorCond::GetParSensor(), CbmStsElement::GetPnode(), and CbmStsSetup::GetSensor().
Referenced by Init().
void CbmStsDigitize::InitSetup | ( | ) |
Initialise the STS setup and the parameters
Definition at line 590 of file CbmStsDigitize.cxx.
References fParSetCond, fParSetModule, fParSetSensor, fSetup, CbmStsSetup::Init(), CbmStsSetup::Instance(), CbmStsSetup::SetModuleParameters(), CbmStsSetup::SetSensorConditions(), and CbmStsSetup::SetSensorParameters().
|
private |
|
private |
Process the analog buffers of all modules
readoutTime | Time of readout [ns] |
Definition at line 608 of file CbmStsDigitize.cxx.
References fModules.
Referenced by Exec().
|
private |
Process StsPoints from MCEvent
Definition at line 618 of file CbmStsDigitize.cxx.
References CbmDigitizeBase::fCurrentEventTime, CbmDigitizeBase::fCurrentInput, CbmDigitizeBase::fCurrentMCEntry, fNofPointsIgno, fNofPointsProc, fParSim, fPoints, fTracks, CbmMCTrack::GetGeantProcessId(), CbmStsParSim::OnlyPrimaries(), and ProcessPoint().
Referenced by Exec().
|
private |
Process one MCPoint
point | Pointer to CbmStsPoint to be processed |
link | Link to MCPoint |
Definition at line 648 of file CbmStsDigitize.cxx.
References fNofSignalsB, fNofSignalsF, and fSensors.
Referenced by ProcessMCEvent().
|
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 175 of file CbmDigitize.h.
|
virtual |
Re-initialisation
Definition at line 671 of file CbmStsDigitize.cxx.
References fSetup, and CbmStsSetup::Instance().
|
private |
Reset event counters.
Definition at line 681 of file CbmStsDigitize.cxx.
References fNofDigis, fNofPointsIgno, fNofPointsProc, fNofSignalsB, fNofSignalsF, fTimeDigiFirst, and fTimeDigiLast.
Referenced by CbmStsDigitize(), Exec(), and Finish().
|
inlineinherited |
Send a digi and the corresponding match object to the DAQ.
digi | Pointer to digi object (template parameter) |
match | Pointer to match object |
TODO: The interface should be unique pointers, meaning that the digitisers have to create objects by unique pointers from the start.
Definition at line 219 of file CbmDigitize.h.
|
inlineinherited |
Set creation of links to MC.
Choice | If kTRUE, the match objects will be created |
Definition at line 143 of file CbmDigitizeBase.h.
References CbmDigitizeBase::fCreateMatches.
Referenced by CbmDigitization::Run().
|
inlineinherited |
Set event-by-event mode.
Choice | If kTRUE, the digitizer will run in event-by-event mode |
Definition at line 149 of file CbmDigitizeBase.h.
References CbmDigitizeBase::fEventMode.
Referenced by CbmDigitization::Run().
void CbmStsDigitize::SetGlobalAsicParams | ( | UInt_t | nAdc, |
Double_t | dynRange, | ||
Double_t | threshold, | ||
Double_t | timeResolution, | ||
Double_t | deadTime, | ||
Double_t | noise, | ||
Double_t | zeroNoiseRate | ||
) |
Set individual module parameters.
parMap | Map of module addresses and corresponding module parameters |
These parameters will be applied to individual modules after the global defaults are set. TODO: Include this with the new parameter scheme
Set the global ASIC parameters
nAdc | Number of ADC channels |
dynRange | Dynamic range [e] |
threshold | Threshold [e] |
timeResolution | Time resolution [ns] |
deadTime | Channel dead time [ns] |
noise | Noise RMS [e] |
zeroNoiseRate | Zero-threshold noise rate [1/ns] |
These parameters will be applied to all ASICS in all modules.
Definition at line 765 of file CbmStsDigitize.cxx.
References fIsInitialised, and fUserParAsic.
|
private |
Set global default parameters.
The global module and sensor parameters will be applied for all modules and sensors if no element-specific parameters are applied. Default values for the global parameters are hard-coded here. They can be changed from the macro level by the appropriate methods (e.g. SetGlobalSensorConditions).
Definition at line 693 of file CbmStsDigitize.cxx.
References fIsInitialised, fUserDinactive, fUserParAsic, fUserParCond, fUserParModule, fUserParSensor, fUserParSim, kDssdStereo, kUrban, CbmStsParSim::SetEventMode(), CbmStsParSim::SetGenerateNoise(), CbmStsParSensor::SetPar(), and CbmStsParSim::SetProcesses().
Referenced by CbmStsDigitize().
void CbmStsDigitize::SetGlobalModuleParams | ( | UInt_t | nChannels, |
UInt_t | nAsicChannels | ||
) |
Set the global module parameters.
nChannels | Number of readout channels |
nAsicChannels | Number of readout channels per ASIC |
These parameters will be applied to all modules.
Definition at line 782 of file CbmStsDigitize.cxx.
References fIsInitialised, and fUserParModule.
void CbmStsDigitize::SetGlobalSensorConditions | ( | Double_t | vDep, |
Double_t | vBias, | ||
Double_t | temperature, | ||
Double_t | cCoupling, | ||
Double_t | cInterstrip | ||
) |
Set the global sensor conditions.
vDep | Full-depletion voltage [V] |
vBias | Bias voltage [V] |
temperature | Temperature [K] |
cCoupling | Coupling capacitance [pF] |
cInterstrip | Inter-strip capacitance [pF] |
These parameters will be applied to all sensors when no condition file is specified.
Definition at line 793 of file CbmStsDigitize.cxx.
References fIsInitialised, and fUserParCond.
void CbmStsDigitize::SetModuleParameterFile | ( | const char * | fileName | ) |
Set the file name with module parameters.
fileName | File name with module parameters |
The format of the file must comply with CbmStsSetup::ReadModuleParameters(const char*)
Definition at line 808 of file CbmStsDigitize.cxx.
References fIsInitialised, and fModuleParameterFile.
|
virtual |
Inherited from FairTask.
Definition at line 321 of file CbmStsDigitize.cxx.
References fParSetCond, fParSetModule, fParSetSensor, and fParSim.
void CbmStsDigitize::SetProcesses | ( | CbmStsELoss | eLossModel, |
Bool_t | useLorentzShift = kTRUE , |
||
Bool_t | useDiffusion = kTRUE , |
||
Bool_t | useCrossTalk = kTRUE |
||
) |
Set physics processes
eLossModel | Energy loss model |
useLorentzShift | If kTRUE, activate Lorentz shift |
useDiffusion | If kTRUE, activate diffusion |
useCrossTalk | If kTRUE, activate cross talk |
Changing the physics flags is only allowed before Init() is called.
Definition at line 817 of file CbmStsDigitize.cxx.
References fIsInitialised, fParSim, and CbmStsParSim::SetProcesses().
|
inlineinherited |
Set production of inter-event noise.
Choice | If kTRUE, the digitizer will produce noise |
Definition at line 155 of file CbmDigitizeBase.h.
References CbmDigitizeBase::fProduceNoise.
Referenced by CbmDigitization::Run().
void CbmStsDigitize::SetSensorConditionFile | ( | const char * | fileName | ) |
Set the file name with sensor conditions.
fileName | File name with sensor conditions |
The format of the file must comply with CbmStsSetup::ReadSensorConditions(const char*)
Definition at line 834 of file CbmStsDigitize.cxx.
References fIsInitialised, and fSensorConditionFile.
void CbmStsDigitize::SetSensorParameterFile | ( | const char * | fileName | ) |
Set the file name with sensor parameters.
fileName | File name with sensor parameters |
The format of the file must comply with CbmStsSetup::ReadSensorParameters(const char*)
Definition at line 847 of file CbmStsDigitize.cxx.
References fIsInitialised, and fSensorParameterFile.
void CbmStsDigitize::UseOnlyPrimaries | ( | Bool_t | flag = kTRUE | ) |
Discard processing of secondary tracks.
Set the sensor strip pitch
pitch | Strip pitch [cm] |
The internal sensor parameters like pitch, stereo angle etc. are normally taken from a sensor database. This method allows to override the value for the strip pitch defined there, in order to easily test different sensor layout options without defining new types in the database. It has effect only for strip sensor types. The specified strip pitch will be applied for all sensors in the setup.
TODO: Functionality still used? Should be included in new parameter scheme, then. Through CbmStsParSensor.
flag | kTRUE if secondaries shall be discarded |
This flag enables the user to suppress the digitisation of StsPoints from secondary tracks for debug purposes. By default, points from all tracks are processed.
Definition at line 860 of file CbmStsDigitize.cxx.
References fUserParSim, and CbmStsParSim::SetOnlyPrimaries().
|
privateinherited |
Output branch name.
Definition at line 230 of file CbmDigitize.h.
|
protectedinherited |
Flag for production of inter-event noise.
Definition at line 161 of file CbmDigitizeBase.h.
Referenced by CbmRichDigitizer::AddDigisToOutputArray(), CbmDigitize< CbmTrdDigi >::ClearOutput(), CreateDigi(), CbmDigitize< CbmTrdDigi >::FillTimeSlice(), CbmPsdSimpleDigitizer::Init(), CbmDigitize< CbmTrdDigi >::RegisterOutput(), and CbmDigitizeBase::SetCreateMatches().
|
protectedinherited |
Number of current input.
Definition at line 163 of file CbmDigitizeBase.h.
Referenced by CbmMuchDigitizeGem::BufferSignals(), CbmMvdDigitizer::Exec(), CbmPsdSimpleDigitizer::Exec(), CbmRichDigitizer::Exec(), CbmTofDigitize::Exec(), CbmMuchDigitizeGem::Exec(), CbmTrdDigitizer::Exec(), CbmMuchDigitizeGem::GenerateNoise(), CbmDigitizeBase::GetEventInfo(), and CbmRichDigitizer::ProcessMcEvent().
|
protectedinherited |
Number of current MC entry.
Definition at line 165 of file CbmDigitizeBase.h.
Referenced by CbmMuchDigitizeGem::AddCharge(), CbmRichDigitizer::AddNoiseDigis(), CbmMuchDigitizeGem::BufferSignals(), CbmPsdSimpleDigitizer::Exec(), CbmMvdDigitizer::Exec(), CbmRichDigitizer::Exec(), CbmTofDigitize::Exec(), CbmMuchDigitizeGem::Exec(), CbmTrdDigitizer::Exec(), Exec(), CbmMuchDigitizeGem::GenerateNoise(), CbmDigitizeBase::GetEventInfo(), CbmDigitizeBase::GetEventTime(), CbmTofDigitize::MergeSameChanDigis(), CbmRichDigitizer::ProcessMcEvent(), ProcessMCEvent(), and CbmRichDigitizer::ProcessPoint().
|
protectedinherited |
Flag for creation of links to MC.
Definition at line 162 of file CbmDigitizeBase.h.
Referenced by CbmMuchDigitizeGem::AddCharge(), CbmMuchDigitizeGem::BufferSignals(), CbmMuchDigitizeGem::Exec(), CbmTrdDigitizer::Exec(), CbmDigitizeBase::GetEventInfo(), CbmTofDigitize::MergeSameChanDigis(), CbmRichDigitizer::ProcessMcEvent(), and ProcessMCEvent().
|
protectedinherited |
Number of current MC event.
Definition at line 164 of file CbmDigitizeBase.h.
Referenced by CbmMuchDigitizeGem::AddCharge(), CbmMuchDigitizeGem::BufferSignals(), CbmTrdDigitizer::Exec(), CbmDigitizeBase::GetEventInfo(), CbmTofDigitize::MergeSameChanDigis(), CbmRichDigitizer::ProcessMcEvent(), and 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 239 of file CbmDigitize.h.
|
privateinherited |
Definition at line 231 of file CbmDigitize.h.
|
protectedinherited |
Definition at line 159 of file CbmDigitizeBase.h.
Referenced by CbmRichDigitizer::AddDigi(), CbmTofDigitize::DigitizeDirectClusterSize(), CbmMuchDigitizeGem::Exec(), Exec(), CbmMuchDigitizeGem::Finish(), Finish(), CbmTofDigitize::Init(), CbmRichDigitizer::Init(), CbmTrdDigitizer::Init(), CbmMuchDigitizeGem::Init(), InitParams(), and CbmDigitizeBase::SetEventMode().
|
private |
kTRUE if Init() was called
Definition at line 234 of file CbmStsDigitize.h.
Referenced by Init(), SetGlobalAsicParams(), SetGlobalDefaults(), SetGlobalModuleParams(), SetGlobalSensorConditions(), SetModuleParameterFile(), SetProcesses(), SetSensorConditionFile(), and SetSensorParameterFile().
|
privateinherited |
Output array (Digi)
Definition at line 232 of file CbmDigitize.h.
|
private |
File with module parameters.
Definition at line 272 of file CbmStsDigitize.h.
Referenced by SetModuleParameterFile().
|
private |
Map of modules. Key is the address.
Definition at line 244 of file CbmStsDigitize.h.
Referenced by BufferSize(), BufferStatus(), Exec(), Finish(), InitModules(), InitSensors(), and ProcessAnalogBuffers().
|
private |
Number of created digis in Exec.
Definition at line 286 of file CbmStsDigitize.h.
Referenced by CreateDigi(), Exec(), Finish(), and ResetCounters().
|
private |
Total number of digis created.
Definition at line 294 of file CbmStsDigitize.h.
|
private |
Total number of procesed events.
Definition at line 289 of file CbmStsDigitize.h.
|
private |
Total number of noise digis.
Definition at line 295 of file CbmStsDigitize.h.
|
private |
Number of ignored points.
Definition at line 283 of file CbmStsDigitize.h.
Referenced by Exec(), Finish(), ProcessMCEvent(), and ResetCounters().
|
private |
Total number of ignored points.
Definition at line 291 of file CbmStsDigitize.h.
|
private |
Number of processed points.
Definition at line 282 of file CbmStsDigitize.h.
Referenced by Exec(), Finish(), ProcessMCEvent(), and ResetCounters().
|
private |
Total number of processed points.
Definition at line 290 of file CbmStsDigitize.h.
|
private |
Number of signals on back side.
Definition at line 285 of file CbmStsDigitize.h.
Referenced by Exec(), Finish(), GetNofSignalsB(), ProcessPoint(), and ResetCounters().
|
private |
Number of signals on back side.
Definition at line 293 of file CbmStsDigitize.h.
|
private |
Number of signals on front side.
Definition at line 284 of file CbmStsDigitize.h.
Referenced by Exec(), Finish(), GetNofSignalsF(), ProcessPoint(), and ResetCounters().
|
private |
Number of signals on front side.
Definition at line 292 of file CbmStsDigitize.h.
|
private |
Sensor conditions.
Definition at line 261 of file CbmStsDigitize.h.
Referenced by InitParams(), InitSensors(), InitSetup(), and SetParContainers().
|
private |
Module parameter.
Definition at line 259 of file CbmStsDigitize.h.
Referenced by InitModules(), InitParams(), InitSetup(), and SetParContainers().
|
private |
Sensor parameters.
Definition at line 260 of file CbmStsDigitize.h.
Referenced by InitParams(), InitSensors(), InitSetup(), and SetParContainers().
|
private |
Simulation settings.
Definition at line 258 of file CbmStsDigitize.h.
Referenced by Exec(), InitParams(), InitSensors(), ProcessMCEvent(), SetParContainers(), and SetProcesses().
|
private |
Sensor factory.
Input array of CbmStsPoint
Definition at line 239 of file CbmStsDigitize.h.
Referenced by Init(), and ProcessMCEvent().
|
protectedinherited |
Flag for event-by-event mode.
Definition at line 160 of file CbmDigitizeBase.h.
Referenced by CbmRichDigitizer::Exec(), InitParams(), and CbmDigitizeBase::SetProduceNoise().
|
private |
File with sensor conditions.
Definition at line 271 of file CbmStsDigitize.h.
Referenced by SetSensorConditionFile().
|
private |
Size of inactive border [cm].
Definition at line 264 of file CbmStsDigitize.h.
|
private |
|
private |
File with sensor parameters.
Definition at line 270 of file CbmStsDigitize.h.
Referenced by SetSensorParameterFile().
|
private |
Strip pitch [cm].
Definition at line 265 of file CbmStsDigitize.h.
|
private |
Map of sensors. Key is the address.
Definition at line 247 of file CbmStsDigitize.h.
Referenced by InitSensors(), and ProcessPoint().
|
private |
Stereo angle back side [degrees].
Definition at line 267 of file CbmStsDigitize.h.
|
private |
Stereo angle front side [degrees].
Definition at line 266 of file CbmStsDigitize.h.
|
private |
Definition at line 237 of file CbmStsDigitize.h.
Referenced by Init(), InitModules(), InitParams(), InitSensors(), InitSetup(), and ReInit().
|
private |
Time of first digi sent to DAQ.
Definition at line 278 of file CbmStsDigitize.h.
Referenced by CreateDigi(), Finish(), and ResetCounters().
|
private |
Time of last digi sent to DAQ.
Definition at line 279 of file CbmStsDigitize.h.
Referenced by CreateDigi(), Finish(), and ResetCounters().
|
private |
Definition at line 275 of file CbmStsDigitize.h.
|
private |
|
private |
Total execution time.
Definition at line 296 of file CbmStsDigitize.h.
|
private |
Input array of CbmMCTrack.
Definition at line 240 of file CbmStsDigitize.h.
Referenced by Init(), and ProcessMCEvent().
|
private |
Size of inactive sensor border [cm].
Definition at line 255 of file CbmStsDigitize.h.
Referenced by InitParams(), and SetGlobalDefaults().
|
private |
User defined, global.
Definition at line 251 of file CbmStsDigitize.h.
Referenced by InitParams(), SetGlobalAsicParams(), and SetGlobalDefaults().
|
private |
User defined, global.
Definition at line 254 of file CbmStsDigitize.h.
Referenced by InitParams(), SetGlobalDefaults(), and SetGlobalSensorConditions().
|
private |
User defined, global.
Definition at line 252 of file CbmStsDigitize.h.
Referenced by InitParams(), SetGlobalDefaults(), and SetGlobalModuleParams().
|
private |
User defined, global.
Definition at line 253 of file CbmStsDigitize.h.
Referenced by InitParams(), and SetGlobalDefaults().
|
private |
Settings for simulation.
Definition at line 250 of file CbmStsDigitize.h.
Referenced by InitParams(), SetGlobalDefaults(), and UseOnlyPrimaries().