26 fLogScan(false), fNIter(0),
28 fXMin(0), fXMax(0), fRoot(0)
60 {
return "BrentRootFinder"; }
68 MATH_ERROR_MSG(
"BrentRootFinder::Solve",
"Function has not been set");
73 MATH_ERROR_MSG(
"BrentRootFinder::Solve",
"xmin is < 0 and log scan is set - disable it");
86 int maxIter2 = maxIter;
92 if (niter1 > maxIter1){
93 MATH_ERROR_MSG(
"BrentRootFinder::Solve",
"Search didn't converge");
98 x =
BrentMethods::MinimBrent(
fFunction, 4, xmin, xmax, x, fy, ok, niter2, absTol, relTol, maxIter2);
Interface (abstract class) for generic functions objects of one-dimension Provides a method to evalua...
bool Solve(int maxIter=100, double absTol=1E-8, double relTol=1E-10)
Returns the X value corresponding to the function value fy for (xmin<x<xmax).
Namespace for new ROOT classes and functions.
double MinimStep(const IGenFunction *f, int type, double &xmin, double &xmax, double fy, int npx=100, bool useLog=false)
Grid search implementation, used to bracket the minimum and later use Brent's method with the bracket...
double MinimBrent(const IGenFunction *f, int type, double &xmin, double &xmax, double xmiddle, double fy, bool &ok, int &niter, double epsabs=1.E-8, double epsrel=1.E-10, int maxiter=100)
Finds a minimum of a function, if the function is unimodal between xmin and xmax This method uses a c...
static int gDefaultNSearch
const char * Name() const
Return name of root finder algorithm ("BrentRootFinder").
const IGenFunction * fFunction
#define MATH_ERROR_MSG(loc, str)
* x
Deprecated and error prone model selection interface.
BrentRootFinder()
Default Constructor.
Namespace for new Math classes and functions.
static void SetDefaultNSearch(int n)
set number of times the bracketing search in combination with is done to find a good interval Default...
static void SetDefaultNpx(int npx)
set number of default Npx used at construction time (when SetNpx is not called) Default value is 100 ...
bool SetFunction(const ROOT::Math::IGenFunction &f, double xlow, double xup)
Sets the function for the rest of the algorithms.