6#define CBMSTSPARASIC_H 1
41 CbmStsParAsic(uint16_t nChannels, uint16_t nAdc,
double dynRange,
double threshold,
double timeResol,
double deadTime,
42 double noise,
double znr);
172 void Set(uint16_t nChannels, uint16_t nAdc,
double dynRange,
double threshold,
double timeResol,
double deadTime,
173 double noise,
double zeroNoiseRate, std::set<uint16_t> deadChannels = {});
Parameters of the STS readout ASIC.
double GetDynRange() const
Dynamic range of ADC.
double GetRandomNoiseCharge() const
Random noise charge.
double fTimeResolution
Time resolution [ns].
TF1 * fNoiseCharge
Flag for being initialised.
uint16_t GetNofAdc() const
Number of ADC channels.
CbmStsParAsic(uint16_t nChannels, uint16_t nAdc, double dynRange, double threshold, double timeResol, double deadTime, double noise, double znr)
Constructor with parameters.
void Set(uint16_t nChannels, uint16_t nAdc, double dynRange, double threshold, double timeResol, double deadTime, double noise, double zeroNoiseRate, std::set< uint16_t > deadChannels={})
Set parameters.
double AdcToCharge(uint16_t adc) const
Charge from ADC channel (mean)
uint16_t GetNofChannels() const
Number of readout channels.
double GetZeroNoiseRate() const
Zero-crossing noise rate.
std::string ToString() const
Info to string.
double fDeadTime
Channel dead time [ns].
std::set< uint16_t > fDeadChannels
Map of dead channels.
double GetNoise() const
Electronic noise RMS.
uint16_t DeactivateRandomChannels(double fraction)
Randomly deactivate a fraction of the channels.
double GetNoiseRate() const
Single-channel noise rate.
double GetThreshold() const
ADC Threshold.
double GetWalkCoef(uint32_t uIdx) const
Get one of the coefficients for walk correction.
uint16_t ChargeToAdc(double charge) const
ADC channel for a given charge.
double GetTimeResol() const
Time resolution.
~CbmStsParAsic()
Destructor.
double fZeroNoiseRate
Zero-crossing noise rate [1/ns].
ClassDefNV(CbmStsParAsic, 4)
CbmStsParAsic()
Default constructor.
double fNoise
RMS of noise [e].
CbmStsParAsic & operator=(const CbmStsParAsic &other)
Copy assignment operator.
double fTimeOffset
Time offset [ns].
double fDynRange
Dynamic range [e].
std::array< double, 31 > fWalkCoef
Parameters for correction of walk effect.
void SetWalkCoef(std::array< double, 31 > par)
Set coefficients for walk correction.
uint16_t fNofAdc
Number of ADC channels.
Bool_t IsChannelActive(uint16_t channel) const
Check for a channel being active.
void SetTimeOffset(double offset)
Set time offset.
uint16_t fNofChannels
Number of readout channels.
double fThreshold
Threshold [e].
void Init()
Initialisation.
double GetDeadTime() const
Single-channel dead time.