Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RooBrentRootFinder Class Reference

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).

Definition at line 23 of file RooBrentRootFinder.h.

Public Member Functions

 RooBrentRootFinder (const RooAbsFunc &function)
 Constructor taking function binding as input.
 
virtual ~RooBrentRootFinder ()=default
 
bool findRoot (double &result, double xlo, double xhi, double value=0) const
 Do the root finding using the Brent-Decker method.
 
virtual TClassIsA () const
 
void setTol (double tol)
 Set convergence tolerance parameter.
 
virtual void Streamer (TBuffer &)
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 

Static Public Member Functions

static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 

Protected Attributes

const RooAbsFunc_function
 Pointer to input function.
 
double _tol
 
bool _valid
 True if current state is valid.
 

Static Protected Attributes

static constexpr int MaxIterations = 512
 

#include <RooBrentRootFinder.h>

Constructor & Destructor Documentation

◆ RooBrentRootFinder()

RooBrentRootFinder::RooBrentRootFinder ( const RooAbsFunc function)

Constructor taking function binding as input.

Definition at line 41 of file RooBrentRootFinder.cxx.

◆ ~RooBrentRootFinder()

virtual RooBrentRootFinder::~RooBrentRootFinder ( )
virtualdefault

Member Function Documentation

◆ Class()

static TClass * RooBrentRootFinder::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

static const char * RooBrentRootFinder::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

static constexpr Version_t RooBrentRootFinder::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 43 of file RooBrentRootFinder.h.

◆ DeclFileName()

static const char * RooBrentRootFinder::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 43 of file RooBrentRootFinder.h.

◆ findRoot()

bool RooBrentRootFinder::findRoot ( double result,
double  xlo,
double  xhi,
double  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.

Definition at line 60 of file RooBrentRootFinder.cxx.

◆ IsA()

virtual TClass * RooBrentRootFinder::IsA ( ) const
inlinevirtual
Returns
TClass describing current object

Definition at line 43 of file RooBrentRootFinder.h.

◆ setTol()

void RooBrentRootFinder::setTol ( double  tol)
inline

Set convergence tolerance parameter.

Definition at line 31 of file RooBrentRootFinder.h.

◆ Streamer()

virtual void RooBrentRootFinder::Streamer ( TBuffer )
virtual

◆ StreamerNVirtual()

void RooBrentRootFinder::StreamerNVirtual ( TBuffer ClassDef_StreamerNVirtual_b)
inline

Definition at line 43 of file RooBrentRootFinder.h.

Member Data Documentation

◆ _function

const RooAbsFunc* RooBrentRootFinder::_function
protected

Pointer to input function.

Definition at line 38 of file RooBrentRootFinder.h.

◆ _tol

double RooBrentRootFinder::_tol
protected

Definition at line 41 of file RooBrentRootFinder.h.

◆ _valid

bool RooBrentRootFinder::_valid
protected

True if current state is valid.

Definition at line 39 of file RooBrentRootFinder.h.

◆ MaxIterations

constexpr int RooBrentRootFinder::MaxIterations = 512
staticconstexprprotected

Definition at line 36 of file RooBrentRootFinder.h.

Libraries for RooBrentRootFinder:

The documentation for this class was generated from the following files: