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 
12 
13 #include <vector>
14 #include <algorithm>
15 #include <boost/cstdint.hpp>
16 
18  public:
19  CastorCalibrationQIECoder (unsigned long fId = 0) : mId (fId) {}
21  float charge (const unsigned fAdc) const;
23  unsigned adc (const float fCharge) const;
24 
25  // following methods are not for use by consumers
26  float minCharge (unsigned fBin) const;
27  // 32 values
28  const float* minCharges () const;
29  void setMinCharge (unsigned fBin, float fValue);
30  void setMinCharges (const float fValue [32]);
31  uint32_t rawId () const {return mId;}
32  private:
33  uint32_t mId;
34  float bin0;
35  float bin1;
36  float bin2;
37  float bin3;
38  float bin4;
39  float bin5;
40  float bin6;
41  float bin7;
42  float bin8;
43  float bin9;
44  float bin10;
45  float bin11;
46  float bin12;
47  float bin13;
48  float bin14;
49  float bin15;
50  float bin16;
51  float bin17;
52  float bin18;
53  float bin19;
54  float bin20;
55  float bin21;
56  float bin22;
57  float bin23;
58  float bin24;
59  float bin25;
60  float bin26;
61  float bin27;
62  float bin28;
63  float bin29;
64  float bin30;
65  float bin31;
66  const float* base () const {return &bin0;}
67  float* base () {return &bin0;}
68 
70 };
71 
72 #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.