pxar
 All Classes Namespaces Functions Variables Typedefs Friends
shist256.cc
1 #include "shist256.hh"
2 
3 // ----------------------------------------------------------------------
4 shist256::shist256() {
5  clear();
6 }
7 
8 // ----------------------------------------------------------------------
9 shist256::~shist256() {
10 }
11 
12 // ----------------------------------------------------------------------
13 void shist256::clear() {
14  for (int i = 0; i < NBINS+2; ++i) fX[i] = 0.;
15 }
16 
17 // ----------------------------------------------------------------------
18 void shist256::fill(int x, float w) {
19  if (x < 0) {
20  fX[0] += w;
21  } else if (x > 256) {
22  fX[NBINS+1] += w;
23  } else {
24  fX[x+1] += w;
25  }
26 }
27 
28 // ----------------------------------------------------------------------
29 float shist256::get(int i) {
30  if (i < 0) {
31  return fX[0];
32  } else if (i > 256) {
33  return fX[NBINS+1];
34  } else {
35  return fX[i+1];
36  }
37 }
38 
39 // ----------------------------------------------------------------------
40 float shist256::get(float i) {
41  int ii(i);
42  if (i < 0) ii = i - 1.;
43  return get(ii);
44 }
45 
46 // ----------------------------------------------------------------------
47 float shist256::getSumOfWeights() {
48  float sum(0.);
49  for (int i = 0; i < NBINS+2; ++i) sum += fX[i];
50  return sum;
51 }