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