00001 #ifndef HCAL_CHANNEL_CODER_H 00002 #define HCAL_CHANNEL_CODER_H 00003 00012 class QieShape; 00013 00014 class HcalChannelCoder { 00015 public: 00016 HcalChannelCoder (const float fOffset [16], const float fSlope [16]); // [CapId][Range] 00018 double charge (const QieShape& fShape, int fAdc, int fCapId) const; 00020 int adc (const QieShape& fShape, double fCharge, int fCapId) const; 00021 int index (int fCapId, int Range) {return fCapId*4+Range;} 00022 private: 00023 double mOffset [4][4]; 00024 double mSlope [4][4]; 00025 }; 00026 00027 #endif