CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalQIESample.cc
Go to the documentation of this file.
2 
3 static const float nominal_adc2fc[128] = {-0.5f,0.5f,1.5f,2.5f,3.5f,4.5f,5.5f,6.5f,7.5f,8.5f,9.5f,10.5f,11.5f,12.5f,13.5f,
4  15.0f,17.0f,19.0f,21.0f,23.0f,25.0f,27.0f,
5  29.5f,32.5f,35.5f,38.5f,
6  42.0f,46.0f,50.0f,
7  54.5f,59.5f,64.5f,
8  59.5f,64.5f,69.5f,74.5f,79.5f,84.5f,89.5f,94.5f,99.5f,104.5f,109.5f,114.5f,119.5f,124.5f,129.5f,
9  137.0f,147.0f,157.0f,167.0f,177.0f,187.0f,197.0f,
10  209.5f,224.5f,239.5f,254.5f,
11  272.0f,292.0f,312.0f,
12  334.5f,359.5f,384.5f,
13  359.5f,384.5f,409.5f,434.5f,459.5f,484.5f,509.5f,534.5f,559.5f,584.5f,609.5f,634.5f,659.5f,684.5f,709.5f,
14  747.0f,797.0f,847.0f,897.0f,947.0f,997.0f,1047.0f,
15  1109.5f,1184.5f,1259.5f,1334.5f,
16  1422.0f,1522.0f,1622.0f,
17  1734.5f,1859.5f,1984.5f,
18  1859.5f,1984.5f,2109.5f,2234.5f,2359.5f,2484.5f,2609.5f,2734.5f,2859.5f,2984.5f,3109.5f,3234.5f,3359.5f,3484.5f,3609.5f,
19  3797.0f,4047.0f,4297.0f,4547.0f,4797.0f,5047.0f,5297.0f,
20  5609.5f,5984.5f,6359.5f,6734.5f,
21  7172.0f,7672.0f,8172.0f,
22  8734.5f,9359.5f,9984.5f};
23 
24 HcalQIESample::HcalQIESample(int adc, int capid, int fiber, int fiberchan, bool dv, bool er) {
25  theSample=(adc&0x7f) | ((capid&0x3)<<7) |
26  (((fiber-1)&0x7)<<13) | ((fiberchan&0x3)<<11) |
27  ((dv)?(0x0200):(0)) | ((er)?(0x0400):(0));
28 }
29 
30 double HcalQIESample::nominal_fC() const {
31  return nominal_adc2fc[adc()];
32 }
33 
34 std::ostream& operator<<(std::ostream& s, const HcalQIESample& samp) {
35  s << "ADC=" << samp.adc() << ", capid=" << samp.capid();
36  if (samp.er()) s << ", ER";
37  if (samp.dv()) s << ", DV";
38  return s;
39 }
40 
int adc(sample_type sample)
get the ADC sample (12 bits)
int adc() const
get the ADC sample
Definition: HcalQIESample.h:22
bool dv() const
is the Data Valid bit set?
Definition: HcalQIESample.h:28
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:188
uint16_t theSample
Definition: HcalQIESample.h:42
static const float nominal_adc2fc[128]
Definition: HcalQIESample.cc:3
int capid() const
get the Capacitor id
Definition: HcalQIESample.h:26
double nominal_fC() const
get the nominal FC (no calibrations applied)
bool er() const
is the error bit set?
Definition: HcalQIESample.h:30