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 21 of file RooBrentRootFinder.h.
Public Member Functions | |
RooBrentRootFinder (const RooAbsFunc &function) | |
Constructor taking function binding as input. | |
~RooBrentRootFinder () override | |
bool | findRoot (double &result, double xlo, double xhi, double value=0) const override |
Do the root finding using the Brent-Decker method. | |
TClass * | IsA () const override |
void | setTol (double tol) |
Set convergence tolerance parameter. | |
void | Streamer (TBuffer &) override |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Public Member Functions inherited from RooAbsRootFinder | |
RooAbsRootFinder (const RooAbsFunc &function) | |
Constructor take function binding as argument. | |
virtual | ~RooAbsRootFinder () |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Static Public Member Functions | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from RooAbsRootFinder | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Protected Types | |
enum | { MaxIterations = 512 } |
Protected Attributes | |
double | _tol |
Protected Attributes inherited from RooAbsRootFinder | |
const RooAbsFunc * | _function |
Pointer to input function. | |
bool | _valid |
True if current state is valid. | |
#include <RooBrentRootFinder.h>
|
protected |
Enumerator | |
---|---|
MaxIterations |
Definition at line 34 of file RooBrentRootFinder.h.
RooBrentRootFinder::RooBrentRootFinder | ( | const RooAbsFunc & | function | ) |
Constructor taking function binding as input.
Definition at line 42 of file RooBrentRootFinder.cxx.
|
inlineoverride |
Definition at line 24 of file RooBrentRootFinder.h.
|
static |
|
inlinestaticconstexpr |
Definition at line 38 of file RooBrentRootFinder.h.
|
inlinestatic |
Definition at line 38 of file RooBrentRootFinder.h.
|
overridevirtual |
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.
Implements RooAbsRootFinder.
Definition at line 56 of file RooBrentRootFinder.cxx.
|
inlineoverridevirtual |
Reimplemented from RooAbsRootFinder.
Definition at line 38 of file RooBrentRootFinder.h.
|
inline |
Set convergence tolerance parameter.
Definition at line 29 of file RooBrentRootFinder.h.
|
overridevirtual |
Reimplemented from RooAbsRootFinder.
|
inline |
Definition at line 38 of file RooBrentRootFinder.h.
|
protected |
Definition at line 36 of file RooBrentRootFinder.h.