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;
136 void initDerivatives();
139 void setFunctionDomain();
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.
std::vector< G4double > getNodeAbscissae() const
G4double getYPrime() const
std::string print() const
std::string print() const
void setYPrime(const G4double yPrime0)
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