15#include <fairlogger/Logger.h>
35 mROFrameLengthInv = 1.f / mROFrameLength;
37 mROFrameLayerLength.push_back(lNS);
38 mROFrameLayerLengthInv.push_back(1.f / lNS);
45 mNSimSteps =
v > 0 ?
v : 1;
46 mNSimStepsInv = 1.f / mNSimSteps;
54 mMinChargeToAccount =
v * frac2Account;
55 if (mMinChargeToAccount < 0 || mMinChargeToAccount > mChargeThreshold) {
56 mMinChargeToAccount = mChargeThreshold;
58 LOG(info) <<
"Set Alpide charge threshold to " << mChargeThreshold
59 <<
", single hit will be accounted from " << mMinChargeToAccount
66 LOGF(info,
"Alpide digitization params:");
67 LOGF(info,
"Continuous readout : %s", mIsContinuous ?
"ON" :
"OFF");
69 for (
int i{0};
i < (
int)mROFrameLayerLengthInBC.size(); ++
i) {
70 LOGF(info,
" Readout Frame Layer:%d Length(ns)[BC] : %f [%d]",
i, mROFrameLayerLength[
i], mROFrameLayerLengthInBC[
i]);
71 LOGF(info,
"Strobe delay Layer %d (ns) : %f",
i, mStrobeDelay);
72 LOGF(info,
"Strobe length Layer %d (ns) : %f",
i, mStrobeLength);
75 LOGF(info,
"Readout Frame Length(ns) : %f", mROFrameLength);
76 LOGF(info,
"Strobe delay (ns) : %f", mStrobeDelay);
77 LOGF(info,
"Strobe length (ns) : %f", mStrobeLength);
79 LOGF(info,
"Threshold (N electrons) : %d", mChargeThreshold);
80 LOGF(info,
"Min N electrons to account : %d", mMinChargeToAccount);
81 LOGF(info,
"Number of charge sharing steps : %d", mNSimSteps);
82 LOGF(info,
"ELoss to N electrons factor : %e", mEnergyToNElectrons);
83 LOGF(info,
"Noise level per pixel : %e", mNoisePerPixel);
84 LOGF(info,
"Charge time-response:");
Simulation parameters for the ALIPIDE chip.
ClassImp(o2::itsmft::DigiParams)
void setROFrameLength(float ns, int layer=-1)
virtual void print() const
void setChargeThreshold(int v, float frac2Account=0.1)
bool withStaggering() const noexcept
GLenum GLuint GLint GLint layer
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"