CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CastorCalibrationQIECoder.h
Go to the documentation of this file.
1 #ifndef CastorCalibrationQIECoder_h
2 #define CastorCalibrationQIECoder_h
3 
11 #include <vector>
12 #include <algorithm>
13 #include <boost/cstdint.hpp>
14 
16  public:
17  CastorCalibrationQIECoder (unsigned long fId = 0) : mId (fId) {}
19  float charge (const unsigned fAdc) const;
21  unsigned adc (const float fCharge) const;
22 
23  // following methods are not for use by consumers
24  float minCharge (unsigned fBin) const;
25  // 32 values
26  const float* minCharges () const;
27  void setMinCharge (unsigned fBin, float fValue);
28  void setMinCharges (const float fValue [32]);
29  uint32_t rawId () const {return mId;}
30  private:
31  uint32_t mId;
32  float bin0;
33  float bin1;
34  float bin2;
35  float bin3;
36  float bin4;
37  float bin5;
38  float bin6;
39  float bin7;
40  float bin8;
41  float bin9;
42  float bin10;
43  float bin11;
44  float bin12;
45  float bin13;
46  float bin14;
47  float bin15;
48  float bin16;
49  float bin17;
50  float bin18;
51  float bin19;
52  float bin20;
53  float bin21;
54  float bin22;
55  float bin23;
56  float bin24;
57  float bin25;
58  float bin26;
59  float bin27;
60  float bin28;
61  float bin29;
62  float bin30;
63  float bin31;
64  const float* base () const {return &bin0;}
65  float* base () {return &bin0;}
66 };
67 
68 #endif
CastorCalibrationQIECoder(unsigned long fId=0)
void setMinCharges(const float fValue[32])
void setMinCharge(unsigned fBin, float fValue)
float minCharge(unsigned fBin) const
unsigned adc(const float fCharge) const
fC -&gt; ADC conversion
float charge(const unsigned fAdc) const
ADC [0..31] -&gt; fC conversion.