CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CastorChannelCoder.h
Go to the documentation of this file.
1 #ifndef CASTOR_CHANNEL_CODER_H
2 #define CASTOR_CHANNEL_CODER_H
3 
10 namespace reco {
11  namespace castor {
12  class QieShape;
13  }
14 }
15 
17  public:
18  CastorChannelCoder (const float fOffset [16], const float fSlope [16]); // [CapId][Range]
20  double charge (const reco::castor::QieShape& fShape, int fAdc, int fCapId) const;
22  int adc (const reco::castor::QieShape& fShape, double fCharge, int fCapId) const;
23  int index (int fCapId, int Range) {return fCapId*4+Range;}
24  private:
25  double mOffset [4][4];
26  double mSlope [4][4];
27 };
28 
29 #endif
CastorChannelCoder(const float fOffset[16], const float fSlope[16])
int adc(const reco::castor::QieShape &fShape, double fCharge, int fCapId) const
fC + capid[0..3] -> ADC conversion
double charge(const reco::castor::QieShape &fShape, int fAdc, int fCapId) const
ADC[0..127]+capid[0..3]->fC conversion.
PixelRecoRange< float > Range
int index(int fCapId, int Range)