ROOT logo
ROOT » MATH » MATHMORE » ROOT::Math::GSLRootFinder

class ROOT::Math::GSLRootFinder: public ROOT::Math::IRootFinderMethod


     Base class for GSL Root-Finding algorithms for one dimensional functions which do not use function derivatives.
     For finding the roots users should not use this class directly but instantiate the template
     ROOT::Math::RootFinder class with the corresponding algorithms.
     For example the ROOT::Math::RootFinder<ROOT::Math::Roots::Brent> for using the Brent algorithm. See that class also
     for the documentation.
     See the GSL <A HREF="http://www.gnu.org/software/gsl/manual/html_node/Root-Bracketing-Algorithms.html"> online manual</A> for
     information on the GSL Root-Finding algorithms

     @ingroup RootFinders

Function Members (Methods)

public:
virtual~GSLRootFinder()
ROOT::Math::GSLRootFinderGSLRootFinder()
virtual intIterate()
virtual intIterations() const
virtual const char*Name() const
virtual doubleRoot() const
virtual intSetFunction(const ROOT::Math::IGradFunction&, double)
virtual intSetFunction(const ROOT::Math::IGenFunction& f, double xlow, double xup)
intSetFunction(ROOT::Math::GSLRootFinder::GSLFuncPointer f, void* params, double xlow, double xup)
virtual intSolve(int maxIter = 100, double absTol = 1E-3, double relTol = 1E-6)
protected:
voidFreeSolver()
voidSetSolver(ROOT::Math::GSLRootFSolver* s)

Data Members

private:
ROOT::Math::GSLFunctionWrapper*fFunction
intfIter
doublefRoot
ROOT::Math::GSLRootFSolver*fS
boolfValidInterval
doublefXlow
doublefXup

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

GSLRootFinder()
virtual ~GSLRootFinder()
GSLRootFinder(const ROOT::Math::GSLRootFinder& )
 usually copying is non trivial, so we make this unaccessible
int SetFunction(const ROOT::Math::IGradFunction& , double )
int SetFunction(const ROOT::Math::IGenFunction& f, double xlow, double xup)
int SetFunction(ROOT::Math::GSLRootFinder::GSLFuncPointer f, void* params, double xlow, double xup)
int Iterate()
double Root() const
int Solve(int maxIter = 100, double absTol = 1E-3, double relTol = 1E-6)
double XLower() const;
double XUpper() const;
 Solve for roots
int Iterations() const
const char * Name() const
void SetSolver(ROOT::Math::GSLRootFSolver* s)
void FreeSolver()