CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
QieShape.cc
Go to the documentation of this file.
1 
7 #include <iostream>
8 
10 
11 namespace reco {
12  namespace castor {
13 
14  QieShape::QieShape(const double fAdcShape[32], const double fAdcBin[32]) {
15  for (int i = 0; i < 32; i++) { // initial settings
16  mLinearization[i] = fAdcShape[i];
17  mBinSize[i] = fAdcBin[i];
18  // std::cout << "QieShape::QieShape-> #/adc/bin: " << i << '/' << fAdcShape [i] << '/' << fAdcBin [i] << std::endl;
19  }
20  double factor = 1;
21  for (int range = 1; range < 4; range++) {
22  factor = factor * 5;
23  int offset = 32 * range;
24  mLinearization[offset] = mLinearization[offset - 2]; // initial overlap
25  for (int bin = 1; bin < 32; bin++) {
26  mLinearization[offset + bin] =
27  mLinearization[offset + bin - 1] +
28  factor * (mLinearization[bin] - mLinearization[bin - 1]); // scale initial curve
29  mBinSize[offset + bin] = factor * mBinSize[bin];
30  }
31  }
32  }
33 
34  } // namespace castor
35 } // namespace reco
double mLinearization[128]
Definition: QieShape.h:22
const uint16_t range(const Frame &aFrame)
double mBinSize[128]
Definition: QieShape.h:23
QieShape(const double fAdcShape[32], const double fAdcBin[32])
Definition: QieShape.cc:14