Belle II Software  release-08-01-10
BkgNeutronWeight.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #ifndef BKGNEUTRONWEIGHT_H
10 #define BKGNEUTRONWEIGHT_H
11 
12 #include <vector>
13 
14 namespace Belle2 {
24 
25  public:
26 
28  static BkgNeutronWeight& getInstance();
29 
31  double getWeight(double ke);
32 
33  private:
34 
36  BkgNeutronWeight(void);
37 
39  void addPoint(double, double);
40 
42  void doSpline();
43 
45  int m_n;
46 
48  std::vector<double> m_x;
49 
51  std::vector<double> m_y;
52 
54  std::vector<double> m_b;
55 
57  std::vector<double> m_c;
58 
60  std::vector<double> m_d;
61 
64 
65  };
66 
68 } // end of namespace Belle2
69 
70 #endif // BKGNEUTRONWEIGHT_H
The class to get the weighting factor for a 1-MeV-equivalent neutron flux on silicon.
std::vector< double > m_b
Vector of first derivatives in spline fit (calculated)
std::vector< double > m_c
Vector of second derivatives in spline fit (calculated)
int m_n
Number of tabulated points.
std::vector< double > m_y
Vector of tabulated y coordinates (weighting factors)
std::vector< double > m_d
Vector of third derivatives in spline fit (calculated)
std::vector< double > m_x
Vector of tabulated x coordinates (logarithm of kinetic energy)
double getWeight(double ke)
Get weighting factor to convert a neutron to its 1-MeV equivalent.
void addPoint(double, double)
Function to add one (x,y) data point to the spline table.
static BkgNeutronWeight * m_Instance
static pointer to the singleton instance of this class
static BkgNeutronWeight & getInstance()
Return a reference to the singleton BkgNeutronWeight instance.
void doSpline()
Function to calculate the cubic spline derivatives.
BkgNeutronWeight(void)
Constructor is private for this singleton.
Abstract base class for different kinds of events.