33#ifndef ROOT_Math_Derivator
34#define ROOT_Math_Derivator
106 template <
class UserFunc>
136 double Eval(
double x,
double h = 1E-8)
const;
204 static double Eval(
IParamFunction &
f,
double x,
const double * p,
unsigned int ipar = 0,
double h = 1E-8);
226 double Error()
const;
void SetFunction(const IGenFunction &f)
Set the function for calculating the derivatives.
GSLDerivator * fDerivator
double Result() const
return the result of the last derivative calculation
virtual ~Derivator()
destructor
double EvalBackward(double x, double h=1E-8) const
Computes the numerical derivative at a point x using an adaptive backward difference algorithm with a...
int Status() const
return the error status of the last derivative calculation
Derivator & operator=(const Derivator &)
double(* GSLFuncPointer)(double, void *)
signature for function pointers used by GSL
Derivator()
Empty Construct for a Derivator class Need to set the function afterwards with Derivator::SetFunction...
double Error() const
return the estimate of the absolute error of the last derivative calculation
double Eval(double x, double h=1E-8) const
Computes the numerical derivative of a function f at a point x.
double EvalCentral(double x, double h=1E-8) const
Computes the numerical derivative at a point x using an adaptive central difference algorithm with a ...
double EvalForward(double x, double h=1E-8) const
Computes the numerical derivative at a point x using an adaptive forward difference algorithm with a ...
Class for computing numerical derivative of a function based on the GSL numerical algorithm This clas...
static double F(double x, void *p)
IMultiGenFunctionTempl< double > IMultiGenFunction
IParametricFunctionOneDim IParamFunction
double(* GSLFuncPointer)(double, void *)
Function pointer corresponding to gsl_function signature.
IParametricFunctionMultiDim IParamMultiFunction
IBaseFunctionOneDim IGenFunction