31 #ifndef ROOT_Math_GSLRootFinder
32 #define ROOT_Math_GSLRootFinder
35 #ifndef ROOT_Math_GSLFunctionAdapter
39 #ifndef ROOT_Math_IFunctionfwd
43 #ifndef ROOT_Math_IRootFinderMethod
54 class GSLFunctionWrapper;
93 #if defined(__MAKECINT__) || defined(G__DICTIONARY)
95 std::cerr <<
"GSLRootFinder - Error : this method must be used with a Root Finder algorithm using derivatives" << std::endl;
117 bool Solve(
int maxIter = 100,
double absTol = 1
E-8,
double relTol = 1
E-10);
127 const char *
Name()
const;
int Iterations() const
Return number of iterations.
double Root() const
Returns the previously calculated root.
Interface (abstract class) for generic functions objects of one-dimension Provides a method to evalua...
Namespace for new ROOT classes and functions.
int Status() const
Return the status of last root finding.
Root-Finder implementation class using GSL.
GSLRootFinder & operator=(const GSLRootFinder &)
Base class for GSL Root-Finding algorithms for one dimensional functions which do not use function de...
const char * Name() const
double GSLRootFinder::XLower() const { return fXlow; }
Interface (abstract class) for one-dimensional functions providing a gradient calculation.
double(* GSLFuncPointer)(double, void *)
Interface for finding function roots of one-dimensional functions.
bool Solve(int maxIter=100, double absTol=1E-8, double relTol=1E-10)
Find the root.
int Iterate()
This method is implemented only by the GSLRootFinder and GSLRootFinderDeriv classes and will return a...
GSLFunctionWrapper * fFunction
virtual bool SetFunction(const ROOT::Math::IGradFunction &, double)
Sets the function for algorithms using derivatives.
Namespace for new Math classes and functions.
void SetSolver(GSLRootFSolver *s)
Wrapper class to the gsl_function C structure.
bool SetFunction(const IGenFunction &f, double xlow, double xup)
Sets the function for the rest of the algorithms.