CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups 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 } // namespace reco
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 
25 private:
26  double mOffset[4][4];
27  double mSlope[4][4];
28 };
29 
30 #endif
CastorChannelCoder(const float fOffset[16], const float fSlope[16])
PixelRecoRange< float > Range
int adc(const reco::castor::QieShape &fShape, double fCharge, int fCapId) const
fC + capid[0..3] -&gt; ADC conversion
double charge(const reco::castor::QieShape &fShape, int fAdc, int fCapId) const
ADC[0..127]+capid[0..3]-&gt;fC conversion.
int index(int fCapId, int Range)