CbmRoot
|
Parameters of the STS readout ASIC. More...
#include <CbmStsParAsic.h>
Public Member Functions | |
CbmStsParAsic () | |
Default constructor. More... | |
CbmStsParAsic (UShort_t nAdc, Double_t dynRange, Double_t threshold, Double_t timeResol, Double_t deadTime, Double_t noise, Double_t znr) | |
Constructor with parameters. More... | |
CbmStsParAsic (const CbmStsParAsic &) | |
Copy constructor (disabled) More... | |
CbmStsParAsic (CbmStsParAsic &&)=default | |
Move constructor (disabled) More... | |
CbmStsParAsic & | operator= (const CbmStsParAsic &other) |
Copy assignment operator. More... | |
CbmStsParAsic & | operator= (CbmStsParAsic &&)=default |
Move assignment operator (disabled) More... | |
~CbmStsParAsic () | |
Destructor. More... | |
Double_t | AdcToCharge (UShort_t adc) const |
Charge from ADC channel (mean) More... | |
Short_t | ChargeToAdc (Double_t charge) const |
ADC channel for a given charge. More... | |
Double_t | GetDeadTime () const |
Single-channel dead time. More... | |
Double_t | GetDynRange () const |
Dynamic range of ADC. More... | |
UShort_t | GetNofAdc () const |
Number of ADC channels. More... | |
Double_t | GetNoise () const |
Electronic noise RMS. More... | |
Double_t | GetNoiseRate () const |
Single-channel noise rate. More... | |
Double_t | GetRandomNoiseCharge () const |
Random noise charge. More... | |
Double_t | GetThreshold () const |
ADC Threshold. More... | |
Double_t | GetTimeResol () const |
Time resolution. More... | |
Double_t | GetZeroNoiseRate () const |
Zero-crossing noise rate. More... | |
void | Init () |
Initialisation. More... | |
Bool_t | IsChannelActive (UShort_t channel) const |
Check for a channel being active. More... | |
void | Set (UShort_t nAdc, Double_t dynRange, Double_t threshold, Double_t timeResol, Double_t deadTime, Double_t noise, Double_t zeroNoiseRate, std::set< UShort_t > deadChannels={}) |
Set parameters. More... | |
std::string | ToString () const |
Info to string. More... | |
Private Member Functions | |
ClassDefNV (CbmStsParAsic, 2) | |
Private Attributes | |
UShort_t | fNofAdc = 0 |
Number of ADC channels. More... | |
Double_t | fDynRange = 0. |
Dynamic range [e]. More... | |
Double_t | fThreshold = 0. |
Threshold [e]. More... | |
Double_t | fTimeResolution = 0. |
Time resolution [ns]. More... | |
Double_t | fDeadTime = 0. |
Channel dead time [ns]. More... | |
Double_t | fNoise = 0. |
RMS of noise [e]. More... | |
Double_t | fZeroNoiseRate = 0. |
Zero-crossing noise rate [1/ns]. More... | |
std::set< UShort_t > | fDeadChannels {} |
Map of dead channels. More... | |
Bool_t | fIsInit = kFALSE |
TF1 * | fNoiseCharge = nullptr |
Flag for being initialised. More... | |
Parameters of the STS readout ASIC.
This class represents the configuration parameters of a readout ASIC of the STS (STSXYTER).
Definition at line 25 of file CbmStsParAsic.h.
|
inline |
Default constructor.
Definition at line 29 of file CbmStsParAsic.h.
CbmStsParAsic::CbmStsParAsic | ( | UShort_t | nAdc, |
Double_t | dynRange, | ||
Double_t | threshold, | ||
Double_t | timeResol, | ||
Double_t | deadTime, | ||
Double_t | noise, | ||
Double_t | znr | ||
) |
Constructor with parameters.
nAdc | Number of ADC channels |
dynRange | Dynamic range of ADC [e] |
threshold | ADC threshold [e] |
timeResol | Time resolution [ns] |
deadTime | Single-channel dead time [ns] |
noise | Noise RMS [e] |
znr | Zero-crossing noise rate [1/ns] |
CbmStsParAsic::CbmStsParAsic | ( | const CbmStsParAsic & | other | ) |
Copy constructor (disabled)
Definition at line 29 of file CbmStsParAsic.cxx.
References fDeadTime, fDynRange, fNofAdc, fNoise, fThreshold, fTimeResolution, fZeroNoiseRate, and Set().
|
default |
Move constructor (disabled)
CbmStsParAsic::~CbmStsParAsic | ( | ) |
|
inline |
Charge from ADC channel (mean)
adc | ADC channel |
Definition at line 74 of file CbmStsParAsic.h.
References fDynRange, fNofAdc, and fThreshold.
Referenced by CbmStsAlgoAnaCluster::WeightedMean().
Short_t CbmStsParAsic::ChargeToAdc | ( | Double_t | charge | ) | const |
ADC channel for a given charge.
charge | Charge [e] |
Returns -1 for charge below threshold.
Definition at line 63 of file CbmStsParAsic.cxx.
References fDynRange, fNofAdc, and fThreshold.
|
private |
|
inline |
Single-channel dead time.
Definition at line 91 of file CbmStsParAsic.h.
References fDeadTime.
Referenced by CbmStsSimModule::AddSignal(), and CbmStsDigitizeQaReport::Create().
|
inline |
Dynamic range of ADC.
Definition at line 97 of file CbmStsParAsic.h.
References fDynRange.
Referenced by CbmStsDigitizeQaReport::Create().
|
inline |
Number of ADC channels.
Definition at line 103 of file CbmStsParAsic.h.
References fNofAdc.
Referenced by CbmStsDigitizeQaReport::Create(), and CbmStsDigitizeQa::CreateDigiHistograms().
|
inline |
Electronic noise RMS.
Definition at line 109 of file CbmStsParAsic.h.
References fNoise.
Referenced by CbmStsAlgoAnaCluster::AnaSizeN(), and CbmStsDigitizeQaReport::Create().
Double_t CbmStsParAsic::GetNoiseRate | ( | ) | const |
Single-channel noise rate.
Definition at line 72 of file CbmStsParAsic.cxx.
References fNoise, fThreshold, and fZeroNoiseRate.
Referenced by ToString().
Double_t CbmStsParAsic::GetRandomNoiseCharge | ( | ) | const |
Random noise charge.
The noise charge is samples from a Gaussian with zero mean and width equal to the noise RMS, starting from threshold and up to 10 times the noise RMS.
Definition at line 81 of file CbmStsParAsic.cxx.
References fIsInit, and fNoiseCharge.
|
inline |
ADC Threshold.
Definition at line 131 of file CbmStsParAsic.h.
References fThreshold.
Referenced by CbmStsDigitizeQaReport::Create().
|
inline |
Time resolution.
Definition at line 137 of file CbmStsParAsic.h.
References fTimeResolution.
Referenced by CbmStsAlgoFindClusters::CheckChannel(), CbmStsDigitizeQaReport::Create(), and CbmStsSimModule::ProcessAnalogBuffer().
|
inline |
Zero-crossing noise rate.
Definition at line 143 of file CbmStsParAsic.h.
References fZeroNoiseRate.
void CbmStsParAsic::Init | ( | ) |
Initialisation.
Calculates the noise charge distribution.
Definition at line 89 of file CbmStsParAsic.cxx.
References fIsInit, fNoise, fNoiseCharge, and fThreshold.
Referenced by Set(), and CbmStsParModule::SetAllAsics().
|
inline |
Check for a channel being active.
channel | Channel number within ASIC |
Definition at line 157 of file CbmStsParAsic.h.
References fDeadChannels.
Referenced by CbmStsParModule::IsChannelActive().
|
default |
Move assignment operator (disabled)
CbmStsParAsic & CbmStsParAsic::operator= | ( | const CbmStsParAsic & | other | ) |
Copy assignment operator.
Definition at line 42 of file CbmStsParAsic.cxx.
References fDeadTime, fDynRange, fNofAdc, fNoise, fThreshold, fTimeResolution, fZeroNoiseRate, and Set().
void CbmStsParAsic::Set | ( | UShort_t | nAdc, |
Double_t | dynRange, | ||
Double_t | threshold, | ||
Double_t | timeResol, | ||
Double_t | deadTime, | ||
Double_t | noise, | ||
Double_t | zeroNoiseRate, | ||
std::set< UShort_t > | deadChannels = {} |
||
) |
Set parameters.
nAdc | Number of ADC channels |
dynRange | Dynamic range [e] |
threshold | Threshold [e] |
timeResol | Time resolution [ns] |
deadTime | Channel dead time [ns] |
noise | Noise RMS |
zeroNoiseRate | Zero-crossing noise rate |
deadChannels | Set of dead channels |
Definition at line 100 of file CbmStsParAsic.cxx.
References fDeadChannels, fDeadTime, fDynRange, fNofAdc, fNoise, fThreshold, fTimeResolution, fZeroNoiseRate, and Init().
Referenced by CbmStsParAsic(), ClassImp(), and operator=().
std::string CbmStsParAsic::ToString | ( | ) | const |
Info to string.
Definition at line 132 of file CbmStsParAsic.cxx.
References fDeadTime, fDynRange, fNofAdc, fNoise, fThreshold, fTimeResolution, fZeroNoiseRate, and GetNoiseRate().
Referenced by CbmStsDigitize::InitParams().
|
private |
Map of dead channels.
Definition at line 194 of file CbmStsParAsic.h.
Referenced by IsChannelActive(), and Set().
|
private |
Channel dead time [ns].
Definition at line 191 of file CbmStsParAsic.h.
Referenced by CbmStsParAsic(), GetDeadTime(), operator=(), Set(), and ToString().
|
private |
Dynamic range [e].
Definition at line 188 of file CbmStsParAsic.h.
Referenced by AdcToCharge(), CbmStsParAsic(), ChargeToAdc(), GetDynRange(), operator=(), Set(), and ToString().
|
private |
Definition at line 196 of file CbmStsParAsic.h.
Referenced by GetRandomNoiseCharge(), and Init().
|
private |
Number of ADC channels.
Definition at line 187 of file CbmStsParAsic.h.
Referenced by AdcToCharge(), CbmStsParAsic(), ChargeToAdc(), GetNofAdc(), operator=(), Set(), and ToString().
|
private |
RMS of noise [e].
Definition at line 192 of file CbmStsParAsic.h.
Referenced by CbmStsParAsic(), GetNoise(), GetNoiseRate(), Init(), operator=(), Set(), and ToString().
|
private |
Flag for being initialised.
Noise charge distribution. Is instantiated by the Init method in order to avoid frequent re-calculation.
Definition at line 200 of file CbmStsParAsic.h.
Referenced by GetRandomNoiseCharge(), Init(), and ~CbmStsParAsic().
|
private |
Threshold [e].
Definition at line 189 of file CbmStsParAsic.h.
Referenced by AdcToCharge(), CbmStsParAsic(), ChargeToAdc(), GetNoiseRate(), GetThreshold(), Init(), operator=(), Set(), and ToString().
|
private |
Time resolution [ns].
Definition at line 190 of file CbmStsParAsic.h.
Referenced by CbmStsParAsic(), GetTimeResol(), operator=(), Set(), and ToString().
|
private |
Zero-crossing noise rate [1/ns].
Definition at line 193 of file CbmStsParAsic.h.
Referenced by CbmStsParAsic(), GetNoiseRate(), GetZeroNoiseRate(), operator=(), Set(), and ToString().