User Class to find the Root of one dimensional functions.
The GSL Methods are implemented in MathMore and they are loaded automatically
via the plug-in manager
The possible types of Root-finding algorithms are:
<ul>
<li>Root Bracketing Algorithms which do not require function derivatives
<ol>
<li>RootFinder::kBRENT (default method implemented in MathCore)
<li>RootFinder::kGSL_BISECTION
<li>RootFinder::kGSL_FALSE_POS
<li>RootFinder::kGSL_BRENT
</ol>
<li>Root Finding Algorithms using Derivatives
<ol>
<li>RootFinder::kGSL_NEWTON
<li>RootFinder::kGSL_SECANT
<li>RootFinder::kGSL_STEFFENSON
</ol>
</ul>
This class does not cupport copying
@ingroup RootFinders
| virtual | ~RootFinder() |
| int | Iterate() |
| int | Iterations() const |
| const char* | Name() const |
| double | Root() const |
| ROOT::Math::RootFinder | RootFinder(ROOT::Math::RootFinder::EType type = RootFinder::kBRENT) |
| bool | SetFunction(const ROOT::Math::IGradFunction& f, double xstart) |
| bool | SetFunction(const ROOT::Math::IGenFunction& f, double xlow, double xup) |
| bool | SetMethod(ROOT::Math::RootFinder::EType type = RootFinder::kBRENT) |
| bool | Solve(int maxIter = 100, double absTol = 1.0E-8, double relTol = 1.0E-10) |
| bool | Solve<int, double>(int& f, double& d, double start, int maxIter = 100, double absTol = 1.0E-8, double relTol = 1.0E-10) |
| bool | Solve<int>(int& f, double min, double max, int maxIter = 100, double absTol = 1.0E-8, double relTol = 1.0E-10) |
| int | Status() const |
| ROOT::Math::RootFinder& | operator=(const ROOT::Math::RootFinder& rhs) |
| ROOT::Math::RootFinder | RootFinder(const ROOT::Math::RootFinder&) |
| static ROOT::Math::RootFinder::EType | kBRENT | |
| static ROOT::Math::RootFinder::EType | kGSL_BISECTION | |
| static ROOT::Math::RootFinder::EType | kGSL_BRENT | |
| static ROOT::Math::RootFinder::EType | kGSL_FALSE_POS | |
| static ROOT::Math::RootFinder::EType | kGSL_NEWTON | |
| static ROOT::Math::RootFinder::EType | kGSL_SECANT | |
| static ROOT::Math::RootFinder::EType | kGSL_STEFFENSON |
| ROOT::Math::IRootFinderMethod* | fSolver | type of algorithm to be used |

Provide to the solver the function and the initial search interval [xlow, xup]
for algorithms not using derivatives (bracketing algorithms)
The templated function f must be of a type implementing the \a operator() method,
<em> double operator() ( double x ) </em>
Returns non zero if interval is not valid (i.e. does not contains a root)
Return the current and latest estimate of the lower value of the Root-finding interval (for bracketing algorithms)
double XLower() const {
return fSolver->XLower();
}
Return the current and latest estimate of the upper value of the Root-finding interval (for bracketing algorithms)
double XUpper() const {
return fSolver->XUpper();
}
Get Name of the Root-finding solver algorithm