34#ifndef G4AdjointInterpolator_h
35#define G4AdjointInterpolator_h 1
64 std::size_t ind_min = 0, std::size_t ind_max = 0);
70 std::vector<G4double>& y_vec,
71 const G4String& InterPolMethod =
"Log");
74 G4double& x, std::vector<G4double>& x_vec, std::vector<G4double>& y_vec,
75 std::vector<std::size_t>& index_vec,
G4double x0,
79 std::vector<G4double>& y_vec);
G4double Interpolate(G4double &x, std::vector< G4double > &x_vec, std::vector< G4double > &y_vec, const G4String &InterPolMethod="Log")
G4AdjointInterpolator & operator=(const G4AdjointInterpolator &right)=delete
G4double LinearInterpolation(G4double &x, G4double &x1, G4double &x2, G4double &y1, G4double &y2)
std::size_t FindPosition(G4double &x, std::vector< G4double > &x_vec, std::size_t ind_min=0, std::size_t ind_max=0)
G4double ExponentialInterpolation(G4double &x, G4double &x1, G4double &x2, G4double &y1, G4double &y2)
G4double InterpolateWithIndexVector(G4double &x, std::vector< G4double > &x_vec, std::vector< G4double > &y_vec, std::vector< std::size_t > &index_vec, G4double x0, G4double dx)
static G4AdjointInterpolator * GetInstance()
G4AdjointInterpolator(G4AdjointInterpolator &)=delete
std::size_t FindPositionForLogVector(G4double &x, std::vector< G4double > &x_vec)
G4double Interpolation(G4double &x, G4double &x1, G4double &x2, G4double &y1, G4double &y2, const G4String &InterPolMethod="Log")
static G4AdjointInterpolator * GetAdjointInterpolator()
G4double LogarithmicInterpolation(G4double &x, G4double &x1, G4double &x2, G4double &y1, G4double &y2)
G4double InterpolateForLogVector(G4double &x, std::vector< G4double > &x_vec, std::vector< G4double > &y_vec)