LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
GaussianEliminationAlg.h
Go to the documentation of this file.
1 #ifndef GAUSSIANELIMINATIONALG_H
2 #define GAUSSIANELIMINATIONALG_H
3 
14 #include <vector>
15 
16 namespace util {
17 
18  const float SQRT_TWO_PI = 2.506628;
19 
21 
22  public:
23  GaussianEliminationAlg(float, float);
24 
25  double GetDistance(float) const;
26  const std::vector<float>& SolveEquations(const std::vector<float>& meanVector,
27  const std::vector<float>& sigmaVector,
28  const std::vector<float>& heightVector);
29 
30  void FillAugmentedMatrix(const std::vector<float>& meanVector,
31  const std::vector<float>& sigmaVector,
32  const std::vector<float>& heightVector);
33  void GaussianElimination();
34  const std::vector<float>& GetSolutions() { return fSolutions; }
35  void Print();
36 
37  private:
39  float fDistanceMax;
40  std::vector<double> fDistanceLookupTable;
41 
43 
44  std::vector<std::vector<double>> fMatrix;
45  std::vector<float> fSolutions;
46  };
47 
48 }
49 
50 #endif
Namespace for general, non-LArSoft-specific utilities.
Definition: PIDAAlg.h:26
const float SQRT_TWO_PI
void FillAugmentedMatrix(const std::vector< float > &meanVector, const std::vector< float > &sigmaVector, const std::vector< float > &heightVector)
std::vector< std::vector< double > > fMatrix
const std::vector< float > & SolveEquations(const std::vector< float > &meanVector, const std::vector< float > &sigmaVector, const std::vector< float > &heightVector)
std::vector< double > fDistanceLookupTable
const std::vector< float > & GetSolutions()