CMS 3D CMS Logo

CastorAlgoUtils.cc
Go to the documentation of this file.
2 #include <cmath>
3 
4 namespace reco {
5  namespace castor {
6 
7  void getLinearizedADC(const CastorQIEShape& shape,
8  const CastorQIECoder* coder,
9  int bins,int capid,
10  float& lo,
11  float& hi){
12 
13  float low = coder->charge(shape,0,capid);
14  float high = coder->charge(shape,bins-1,capid);
15  float step = (high-low)/(bins-1);
16  low -= step/2.0; high += step/2.0;
17  lo = low; hi = high;
18  return;
19  }
20 
21  float maxDiff(float one, float two, float three, float four){
22  float max=-1000; float min = 1000;
23  if(one>max) max = one;
24  if(one<min) min = one;
25  if(two>max) max = two;
26  if(two<min) min = two;
27  if(three>max) max = three;
28  if(three<min) min = three;
29  if(four>max) max = four;
30  if(four<min) min = four;
31  return fabs(max-min);
32  }
33 
34  }
35 }
void getLinearizedADC(const CastorQIEShape &shape, const CastorQIECoder *coder, int bins, int capid, float &lo, float &hi)
float charge(const CastorQIEShape &fShape, unsigned fAdc, unsigned fCapId) const
ADC [0..127] + capid [0..3] -> fC conversion.
T min(T a, T b)
Definition: MathUtil.h:58
float maxDiff(float one, float two, float three, float four)
fixed size matrix
step