ROOT logo
ROOT » ROOFIT » ROOFITCORE » RooBrentRootFinder

class RooBrentRootFinder: public RooAbsRootFinder



Implement the abstract 1-dimensional root finding interface using the Brent-Decker method. This implementation is based on the one in the GNU scientific library (v0.99).

Function Members (Methods)

public:
RooBrentRootFinder(const RooAbsFunc& function)
RooBrentRootFinder(const RooBrentRootFinder&)
virtual~RooBrentRootFinder()
static TClass*Class()
virtual Bool_tfindRoot(Double_t& result, Double_t xlo, Double_t xhi, Double_t value = 0) const
virtual TClass*IsA() const
voidsetTol(Double_t tol)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)

Data Members

public:
enum { MaxIterations
};
protected:
const RooAbsFunc*RooAbsRootFinder::_functionPointer to input function
Double_t_tol
Bool_tRooAbsRootFinder::_validTrue if current state is valid

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

RooBrentRootFinder(const RooAbsFunc& function)
 Constructor taking function binding as input
Bool_t findRoot(Double_t& result, Double_t xlo, Double_t xhi, Double_t value = 0) const
 Do the root finding using the Brent-Decker method. Returns a boolean status and
 loads 'result' with our best guess at the root if true.
 Prints a warning if the initial interval does not bracket a single
 root or if the root is not found after a fixed number of iterations.
RooBrentRootFinder(const RooAbsFunc& function)
virtual ~RooBrentRootFinder()
{ }
void setTol(Double_t tol)
 Set convergence tolerance parameter