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;
Class for computing numerical derivative of a function.
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...
Class for adapting any C++ functor class to C function pointers used by GSL.
Documentation for the abstract class IBaseFunctionMultiDim.
Interface (abstract class) for generic functions objects of one-dimension Provides a method to evalua...
Specialized IParamFunction interface (abstract class) for one-dimensional parametric functions It is ...
Namespace for new Math classes and functions.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...