15 #include "RConfigure.h" 17 #ifndef MATH_NO_PLUGIN_MANAGER 22 #else // case no plugin manager is available 23 #ifdef R__HAS_MATHMORE 31 #ifndef ROOT_Math_Error 55 #ifdef MATH_NO_PLUGIN_MANAGER // no PM available 56 #ifdef R__HAS_MATHMORE 79 MATH_ERROR_MSG(
"RootFinder::SetMethod",
"RootFinderMethod type is not available in MathCore");
86 MATH_ERROR_MSG(
"RootFinder::SetMethod",
"RootFinderMethod type is not available in MathCore");
90 #else // case of using Plugin Manager 112 stype =
"Steffenson";
115 MATH_ERROR_MSG(
"RootFinder::SetMethod",
"RootFinderMethod type is not available in MathCore");
121 if ((h =
gROOT->GetPluginManager()->FindHandler(
"ROOT::Math::IRootFinderMethod", stype.c_str() ))) {
123 MATH_ERROR_MSG(
"RootFinder::SetMethod",
"Error loading RootFinderMethod");
131 MATH_ERROR_MSG(
"RootFinder::SetMethod",
"Error loading RootFinderMethod");
This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecu...
Secant algorithm, simplified version of Newton method, which does not require the derivative at every...
Int_t LoadPlugin()
Load the plugin library for this handler.
Steffenson method, providing the fastes convergence.
a Newton algorithm, which computes the derivative at each iteration See the GSL manual for more infor...
Interface for finding function roots of one-dimensional functions.
Roots::Bisection Bisection algorithm, simplest algorithm for bracketing the roots of a function...
#define MATH_ERROR_MSG(loc, str)
False Position algorithm based on linear interpolation.
RootFinder(RootFinder::EType type=RootFinder::kBRENT)
Construct a Root-Finder algorithm.
Long_t ExecPlugin(int nargs, const T &... params)
Class for finding the root of a one dimensional function using the Brent algorithm.
bool SetMethod(RootFinder::EType type=RootFinder::kBRENT)
IRootFinderMethod * fSolver
Namespace for new Math classes and functions.
Brent-Dekker algorithm which combines an interpolation strategy with the bisection algorithm See the ...