31 #ifndef ROOT_Math_GSLRootFinder
32 #define ROOT_Math_GSLRootFinder
48 class GSLFunctionWrapper;
73 class GSLRootFinder:
public IRootFinderMethod {
77 virtual ~GSLRootFinder();
81 GSLRootFinder(
const GSLRootFinder &);
82 GSLRootFinder & operator = (
const GSLRootFinder &);
87 #if defined(__MAKECINT__) || defined(G__DICTIONARY)
88 bool SetFunction(
const IGradFunction & ,
double ) {
89 std::cerr <<
"GSLRootFinder - Error : this method must be used with a Root Finder algorithm using derivatives" << std::endl;
94 bool SetFunction(
const IGenFunction & f,
double xlow,
double xup);
96 typedef double ( * GSLFuncPointer ) ( double,
void *);
97 bool SetFunction( GSLFuncPointer f,
void * params,
double xlow,
double xup);
99 using IRootFinderMethod::SetFunction;
111 bool Solve(
int maxIter = 100,
double absTol = 1E-8,
double relTol = 1E-10);
114 int Iterations()
const {
119 int Status()
const {
return fStatus; }
121 const char * Name()
const;
127 void SetSolver ( GSLRootFSolver * s );
133 GSLFunctionWrapper * fFunction;