15#ifndef ALICEO2_ITSMFT_ALPIDESIGNALTRAPEZOID_H
16#define ALICEO2_ITSMFT_ALPIDESIGNALTRAPEZOID_H
46 init(dur, rise, qrise0);
48 void setDuration(
float d) { init(d, mMaxRiseTime, mChargeRise0); }
55 void init(
float dur,
float rise,
float qrise0);
57 float mDuration = 7500.f;
58 float mMaxRiseTime = 1100.f;
59 float mChargeRise0 = 450.f;
60 float mChargeRise0Inv = 1. / 450.f;
71 float riseTime = totalNEle > mChargeRise0 ? 0. : mMaxRiseTime * (1.f - totalNEle * mChargeRise0Inv);
73 if (tMax >= riseTime && tMin <= mDuration) {
76 if (tMax > 0. && tMin < riseTime) {
77 return totalNEle * tMax / riseTime;
void setParameters(float dur, float rise, float qrise0)
void setDuration(float d)
float getMaxDuration() const
float getExtraDuration(float riseTime) const
void setChargeRise0(float q)
AlpideSignalTrapezoid & operator=(const AlpideSignalTrapezoid &)=default
float getChargeRise0() const
AlpideSignalTrapezoid(const AlpideSignalTrapezoid &)=default
void setMaxRiseTime(float r)
float getCollectedCharge(float totalNEle, float tMin, float tMax) const
~AlpideSignalTrapezoid()=default
float getDuration() const
float getMaxRiseTime() const
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...