2 #ifndef EcalSimAlgos_EcalCoder_h
3 #define EcalSimAlgos_EcalCoder_h 1
20 class HepRandomEngine;
const EcalGainRatios * m_gainRatios
CorrelatedNoisifier< EcalCorrMatrix > Noisifier
void setIntercalibConstants(const EcalIntercalibConstantsMC *ical)
virtual void analogToDigital(CLHEP::HepRandomEngine *, const EcalSamples &clf, EcalDataFrame &df) const
from EcalSamples to EcalDataFrame
double fullScaleEnergy(const DetId &did) const
limit on the energy scale due to the electronics range
CaloTSamples< float, 10 > EcalSamples
const EcalIntercalibConstantsMC * m_intercals
const Noisifier * m_ebCorrNoise[3]
const Noisifier * m_eeCorrNoise[3]
void setPedestals(const EcalPedestals *pedestals)
can be fetched every event from the EventSetup
void findGains(const DetId &detId, double theGains[]) const
void encode(const EcalSamples &ecalSamples, EcalDataFrame &df, CLHEP::HepRandomEngine *) const
produce the pulse-shape
const EcalPedestals * m_peds
void setGainRatios(const EcalGainRatios *gainRatios)
constexpr int gainId(sample_type sample)
get the gainId (2 bits)
void setFullScaleEnergy(double EBscale, double EEscale)
void findIntercalibConstant(const DetId &detId, double &icalconst) const
void findPedestal(const DetId &detId, int gainId, double &pedestal, double &width) const
not yet implemented
EcalCoder(bool addNoise, bool PreMix1, Noisifier *ebCorrNoise0, Noisifier *eeCorrNoise0=nullptr, Noisifier *ebCorrNoise1=nullptr, Noisifier *eeCorrNoise1=nullptr, Noisifier *ebCorrNoise2=nullptr, Noisifier *eeCorrNoise2=nullptr)
ctor