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");
Namespace for new ROOT classes and functions.
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.
Long_t ExecPlugin(int nargs, const T &...params)
const char Int_t const char TProof Int_t stype
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.
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 ...