33 #define INCLXX_IN_GEANT4_MODE 1
44 #ifndef G4INCLINVERSEINTERPOLATIONTABLE_HH_
45 #define G4INCLINVERSEINTERPOLATIONTABLE_HH_
55 class InverseInterpolationTable;
93 std::stringstream message;
94 message <<
"x, y, yPrime: " <<
x <<
'\t' <<
y <<
'\t' <<
yPrime << std::endl;
117 std::vector<G4double> x(
nodes.size());
118 std::transform(
nodes.begin(),
nodes.end(), x.begin(),
124 std::vector<G4double> y(
nodes.size());
125 std::transform(
nodes.begin(),
nodes.end(), y.begin(),
132 std::string
print()
const;
142 std::vector<InterpolationNode>
nodes;
148 #endif // G4INCLINVERSEINTERPOLATIONTABLE_HH_
G4bool operator<=(const InterpolationNode &rhs) const
InverseInterpolationTable(IFunction1D const &f, const unsigned int nNodes=30)
virtual ~InverseInterpolationTable()
G4double yPrime
function derivative
InterpolationNode(const G4double x0, const G4double y0, const G4double yPrime0)
G4double operator()(const G4double x) const
Compute the value of the function.
void setFunctionDomain()
Set the function domain.
std::vector< G4double > getNodeAbscissae() const
G4double getYPrime() const
std::string print() const
std::string print() const
std::vector< InterpolationNode > nodes
Interpolating nodes.
void setYPrime(const G4double yPrime0)
void initDerivatives()
Initialise the values of the node derivatives.
unsigned int getNumberOfNodes() const
Class for interpolating the inverse of a 1-dimensional function.
std::vector< G4double > getNodeValues() const
G4bool operator<(const InterpolationNode &rhs) const
virtual ~InterpolationNode()
G4bool operator>(const InterpolationNode &rhs) const
Functor for 1-dimensional mathematical functions.
void setY(const G4double y0)
void setX(const G4double x0)
G4bool operator>=(const InterpolationNode &rhs) const