16 #ifndef ROOT_Math_IRootFinderMethod 17 #define ROOT_Math_IRootFinderMethod 47 MATH_ERROR_MSG(
"SetFunction",
"This method must be used with a Root Finder algorithm using derivatives");
60 virtual double Root()
const = 0;
63 virtual int Status()
const = 0;
72 virtual bool Solve(
int maxIter = 100,
double absTol = 1
E-8,
double relTol = 1
E-10) = 0;
75 virtual const char*
Name()
const = 0;
80 MATH_ERROR_MSG(
"Iterate",
"This method must be used with a Root Finder algorithm wrapping the GSL Library");
Interface (abstract class) for generic functions objects of one-dimension Provides a method to evalua...
Namespace for new ROOT classes and functions.
virtual double Root() const =0
Returns the previously calculated root.
Interface (abstract class) for one-dimensional functions providing a gradient calculation.
Interface for finding function roots of one-dimensional functions.
IRootFinderMethod()
Default Constructor.
#define MATH_ERROR_MSG(loc, str)
constexpr Double_t E()
Base of natural log: .
virtual int Iterations() const
Return number of iterations used to find the root Must be implemented by derived classes.
virtual bool SetFunction(const ROOT::Math::IGradFunction &, double)
Sets the function for algorithms using derivatives.
virtual bool Solve(int maxIter=100, double absTol=1E-8, double relTol=1E-10)=0
Stimates the root for the function.
Namespace for new Math classes and functions.
virtual const char * Name() const =0
Return name of root finder algorithm.
virtual ~IRootFinderMethod()
Default Destructor.
virtual int Status() const =0
Returns the status of the previous estimate.
virtual int Iterate()
This method is implemented only by the GSLRootFinder and GSLRootFinderDeriv classes and will return a...
virtual bool SetFunction(const ROOT::Math::IGenFunction &, double, double)
Sets the function for the rest of the algorithms.