16#ifndef ROOT_Math_RichardsonDerivator
17#define ROOT_Math_RichardsonDerivator
Interface (abstract class) for generic functions objects of one-dimension Provides a method to evalua...
User class for calculating the derivatives of a function.
double DerivativeBackward(const IGenFunction &f, double x, double h)
Computation of the first derivative using a forward formula.
double Derivative2(double x)
Returns the second derivative of the function at point x, computed by Richardson's extrapolation meth...
double Error() const
Returns the estimate of the absolute Error of the last derivative calculation.
void SetStepSize(double h)
Set step size for derivative calculation.
bool fFunctionCopied
flag to control if function is copied in the class
double DerivativeBackward(double x)
Computation of the first derivative using a backward formula.
~RichardsonDerivator()
Destructor: Removes function if needed.
double DerivativeForward(double x)
Computation of the first derivative using a forward formula.
double fStepSize
step size used for derivative calculation
RichardsonDerivator & operator=(const RichardsonDerivator &rhs)
Assignment operator.
double Derivative3(double x)
Returns the third derivative of the function at point x, computed by Richardson's extrapolation metho...
double operator()(double x)
double Derivative1(double x)
Returns the first derivative of the function at point x, computed by Richardson's extrapolation metho...
void SetFunction(const IGenFunction &f)
Set function for derivative calculation (copy the function if option has been enabled in the construc...
double fLastError
error estimate of last derivative calculation
const IGenFunction * fFunction
pointer to function
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...