10#ifndef CBMSTSDIGITIZE_H
11#define CBMSTSDIGITIZE_H 1
21#include "TStopwatch.h"
86 virtual void Exec(Option_t* opt);
102 virtual InitStatus
ReInit();
130 void SetGlobalAsicParams(UShort_t nChannels, UShort_t nAdc, Double_t dynRange, Double_t threshold,
131 Double_t timeResolution, Double_t deadTime, Double_t noise, Double_t zeroNoiseRate);
163 Double_t cInterstrip);
184 Bool_t useCrossTalk = kTRUE);
265 std::map<UInt_t, std::unique_ptr<CbmStsSimSensor>>
fSensors{};
341 virtual InitStatus
Init();
ECbmModuleId
Enumerator for module Identifiers.
@ kSts
Silicon Tracking System.
CbmStsELoss
Energy loss model used in simulation.
TString fSensorConditionFile
File with sensor conditions.
const char * fAsicParamsFileName
Double_t fTimeTot
Total execution time.
void SetGlobalDefaults()
Set global default parameters.
UInt_t InitModules()
Instantiate modules.
virtual void Exec(Option_t *opt)
Bool_t fIsInitialised
kTRUE if Init() was called
Double_t fNofPointsIgnoTot
Total number of ignored points.
virtual ~CbmStsDigitize()
CbmStsParModule * fUserParModule
User defined, global.
Double_t fSensorDinact
Size of inactive border [cm].
void SetGlobalFracDeadChannels(Double_t fraction)
Set global fraction of dead channels.
Double_t fSensorStereoB
Stereo angle back side [degrees].
void SetSensorParameterFile(const char *fileName)
Set the file name with sensor parameters.
TClonesArray * fTracks
Input array of CbmMCTrack.
void SetSensorConditionFile(const char *fileName)
Set the file name with sensor conditions.
Int_t fNofSignalsF
Number of signals on front side.
TClonesArray * fPoints
Sensor factory.
Double_t fReadoutInterval
Interval for analog buffer readout [ns].
Double_t fSensorPitch
Strip pitch [cm].
CbmStsParAsic * fUserParAsic
User defined, global.
void SetReadoutInterval(Double_t value)
Set readout interval.
ClassDef(CbmStsDigitize, 5)
std::map< UInt_t, std::unique_ptr< CbmStsSimSensor > > fSensors
virtual InitStatus Init()
Double_t fNofSignalsFTot
Number of signals on front side.
void SetGlobalModuleParams(UInt_t nChannels, UInt_t nAsicChannels)
Set the global module parameters.
Int_t fNofPointsProc
Number of processed points.
ECbmModuleId GetSystemId() const
Detector system ID.
Double_t fTimeDigiFirst
Time of first digi sent to DAQ.
CbmStsSimSensorFactory * fSensorFactory
STS setup interface.
TStopwatch fTimer
ROOT timer.
void ProcessAnalogBuffers(Double_t readoutTime)
Int_t fNofDigis
Number of created digis in Exec.
Int_t BufferSize() const
Number of signals in the analogue buffers @value nSignals Sum of number of signals in all modules.
TString fModuleParameterFile
File with module parameters.
CbmStsDigitize(const CbmStsDigitize &)
Double_t fNofDigisTot
Total number of digis created.
Double_t fSensorStereoF
Stereo angle front side [degrees].
Double_t fTimeLastReadout
Time of last readout of analog buffers.
CbmStsParSensor * fUserParSensor
User defined, global.
TString fSensorParameterFile
File with sensor parameters.
CbmStsParSim * fParSim
Simulation settings.
std::map< std::tuple< UInt_t, Int_t, Int_t >, std::unique_ptr< CbmStsParAsic > > fModuleAsicParams
void SetGlobalAsicParams(UShort_t nChannels, UShort_t nAdc, Double_t dynRange, Double_t threshold, Double_t timeResolution, Double_t deadTime, Double_t noise, Double_t zeroNoiseRate)
Set individual module parameters.
void UseOnlyPrimaries(Bool_t flag=kTRUE)
Discard processing of secondary tracks.
Int_t GetNofSignalsB() const
virtual InitStatus ReInit()
Double_t fNofPointsProcTot
Total number of processed points.
CbmStsParSetModule * fParSetModule
Module parameter.
std::map< UInt_t, CbmStsSimModule * > fModules
Double_t fNofNoiseTot
Total number of noise digis.
void ProcessPoint(const CbmStsPoint *point, Double_t eventTime, const CbmLink &link)
CbmStsParSim * fUserParSim
Settings for simulation.
CbmStsParSetSensorCond * fParSetCond
Sensor conditions.
Int_t GetNofSignalsF() const
bool IsChannelActiveSts(Int_t address, UShort_t channel)
Test if the channel of a digi object is set active.
void CreateDigi(Int_t address, UShort_t channel, Long64_t time, UShort_t adc, const CbmMatch &match)
std::pair< size_t, bool > ReadInactiveChannels()
Read the list of inactive channels from file.
std::string BufferStatus() const
Status of the analogue buffers.
void SetProcesses(CbmStsELoss eLossModel, Bool_t useLorentzShift=kTRUE, Bool_t useDiffusion=kTRUE, Bool_t useCrossTalk=kTRUE)
Double_t fUserFracDeadChan
Fraction of inactive ASIC channels.
void InitParams()
Initialise the parameters.
std::map< Int_t, std::set< UShort_t > > fInactiveChannelsSts
Int_t fNofEvents
Total number of processed events.
void SetGlobalSensorConditions(Double_t vDep, Double_t vBias, Double_t temperature, Double_t cCoupling, Double_t cInterstrip)
Set the global sensor conditions.
void SetModuleParameterFile(const char *fileName)
Set the file name with module parameters.
CbmStsParSensorCond * fUserParCond
User defined, global.
Int_t fNofPointsIgno
Number of ignored points.
Double_t fTimePointLast
Time of last processed StsPoint.
Int_t fNofSignalsB
Number of signals on back side.
Double_t fNofSignalsBTot
Number of signals on back side.
UInt_t InitSensors()
Instantiate sensors.
Double_t fUserDinactive
Size of inactive sensor border [cm].
void ResetCounters()
Reset event counters.
CbmStsDigitize operator=(const CbmStsDigitize &)
CbmStsParSetSensor * fParSetSensor
Sensor parameters.
bool SetAsicParamsFromFile(const char *filename)
Set ASIC parameters from ASCII file.
virtual void SetParContainers()
Inherited from FairTask.
Double_t fTimeDigiLast
Time of last digi sent to DAQ.
Parameters of the STS readout ASIC.
Parameters for one STS module.
Parameters for operating conditions of a STS sensor.
Constructional parameters of a STS sensor.
Parameters container for CbmStsParModule.
Parameters container for CbmStsParSensorCond.
Parameters container for CbmStsParSensor.
Settings for STS simulation (digitizer)
Class representing the top level of the STS setup.