Go to the documentation of this file.
17 inline unsigned index(
unsigned fRange,
unsigned fCapId) {
return fCapId * 4 + fRange; }
29 unsigned nbin = fShape.
nbins();
33 if (qieCharge <= qieChargeMax) {
40 }
else if (
range == 3) {
41 return (4 * nbin - 1);
52 if (fCapId < 4
U && fRange < 4
U) {
55 std::cerr <<
"HcalQIECoder::setOffset-> Wrong parameters capid/range: " << fCapId <<
'/' << fRange << std::endl;
60 if (fCapId < 4
U && fRange < 4
U) {
63 std::cerr <<
"HcalQIECoder::setSlope-> Wrong parameters capid/range: " << fCapId <<
'/' << fRange << std::endl;
constexpr unsigned int minBin
float charge(const HcalQIEShape &fShape, unsigned fAdc, unsigned fCapId) const
ADC [0..127] + capid [0..3] -> fC conversion.
float offset(unsigned fCapId, unsigned fRange) const
void setOffset(unsigned fCapId, unsigned fRange, float fValue)
float highEdge(unsigned fAdc) const
float center(unsigned fAdc) const
constexpr unsigned int maxBin
float slope(unsigned fCapId, unsigned fRange) const
void setSlope(unsigned fCapId, unsigned fRange, float fValue)
unsigned range(unsigned fAdc) const
unsigned adc(const HcalQIEShape &fShape, float fCharge, unsigned fCapId) const
fC + capid [0..3] -> ADC conversion