RooIntegrator1D Class Reference

#include <RooIntegrator1D.h>

Inheritance diagram for RooIntegrator1D:

RooAbsIntegrator RooAbsIntegrator TObject TObject TObject TObject RooIntegrator2D RooIntegrator2D List of all members.

Public Types

enum  SummationRule
enum  SummationRule

Public Member Functions

 RooIntegrator1D ()
 RooIntegrator1D (const RooAbsFunc &function, SummationRule rule=Trapezoid, Int_t maxSteps=0, Double_t eps=0)
 RooIntegrator1D (const RooAbsFunc &function, Double_t xmin, Double_t xmax, SummationRule rule=Trapezoid, Int_t maxSteps=0, Double_t eps=0)
 RooIntegrator1D (const RooAbsFunc &function, const RooNumIntConfig &config)
 RooIntegrator1D (const RooAbsFunc &function, Double_t xmin, Double_t xmax, const RooNumIntConfig &config)
virtual RooAbsIntegratorclone (const RooAbsFunc &function, const RooNumIntConfig &config) const
virtual ~RooIntegrator1D ()
virtual Bool_t checkLimits () const
virtual Double_t integral (const Double_t *yvec=0)
Bool_t setLimits (Double_t *xmin, Double_t *xmax)
virtual Bool_t setUseIntegrandLimits (Bool_t flag)
virtual Bool_t canIntegrate1D () const
virtual Bool_t canIntegrate2D () const
virtual Bool_t canIntegrateND () const
virtual Bool_t canIntegrateOpenEnded () const
 RooIntegrator1D ()
 RooIntegrator1D (const RooAbsFunc &function, SummationRule rule=Trapezoid, Int_t maxSteps=0, Double_t eps=0)
 RooIntegrator1D (const RooAbsFunc &function, Double_t xmin, Double_t xmax, SummationRule rule=Trapezoid, Int_t maxSteps=0, Double_t eps=0)
 RooIntegrator1D (const RooAbsFunc &function, const RooNumIntConfig &config)
 RooIntegrator1D (const RooAbsFunc &function, Double_t xmin, Double_t xmax, const RooNumIntConfig &config)
virtual RooAbsIntegratorclone (const RooAbsFunc &function, const RooNumIntConfig &config) const
virtual ~RooIntegrator1D ()
virtual Bool_t checkLimits () const
virtual Double_t integral (const Double_t *yvec=0)
Bool_t setLimits (Double_t *xmin, Double_t *xmax)
virtual Bool_t setUseIntegrandLimits (Bool_t flag)
virtual Bool_t canIntegrate1D () const
virtual Bool_t canIntegrate2D () const
virtual Bool_t canIntegrateND () const
virtual Bool_t canIntegrateOpenEnded () const

Protected Types

enum  
enum  

Protected Member Functions

Bool_t initialize ()
Double_t addTrapezoids (Int_t n)
Double_t addMidpoints (Int_t n)
void extrapolate (Int_t n)
Double_txvec (Double_t &xx)
 Integrator workspace.
Bool_t initialize ()
Double_t addTrapezoids (Int_t n)
Double_t addMidpoints (Int_t n)
void extrapolate (Int_t n)
Double_txvec (Double_t &xx)
 Integrator workspace.

Static Protected Member Functions

static void registerIntegrator (RooNumIntFactory &fact)
static void registerIntegrator (RooNumIntFactory &fact)

Protected Attributes

Bool_t _useIntegrandLimits
SummationRule _rule
Int_t _maxSteps
Int_t _minStepsZero
Int_t _fixSteps
Double_t _epsAbs
Double_t _epsRel
Bool_t _doExtrap
Double_t _xmin
Double_t _xmax
 Lower integration bound.
Double_t _range
 Upper integration bound.
Double_t _extrapValue
 Size of integration range.
Double_t _extrapError
 Extrapolated value.
Double_t_h
 Error on extrapolated value.
Double_t_s
 Integrator workspace.
Double_t_c
 Integrator workspace.
Double_t_d
 Integrator workspace.
Double_t _savedResult
 Integrator workspace.
Double_t_x
Double_t_h
 Error on extrapolated value.
Double_t_s
 Integrator workspace.
Double_t_c
 Integrator workspace.
Double_t_d
 Integrator workspace.
Double_t_x

Friends

class RooNumIntFactory

Detailed Description

Definition at line 22 of file RooIntegrator1D.h.


Member Enumeration Documentation

enum RooIntegrator1D::SummationRule

Definition at line 26 of file RooIntegrator1D.h.

anonymous enum [protected]

Definition at line 70 of file RooIntegrator1D.h.

enum RooIntegrator1D::SummationRule

Definition at line 26 of file RooIntegrator1D.h.

anonymous enum [protected]

Definition at line 70 of file RooIntegrator1D.h.


Constructor & Destructor Documentation

RooIntegrator1D::RooIntegrator1D (  ) 

Definition at line 73 of file RooIntegrator1D.cxx.

Referenced by clone(), and registerIntegrator().

RooIntegrator1D::RooIntegrator1D ( const RooAbsFunc function,
SummationRule  rule = Trapezoid,
Int_t  maxSteps = 0,
Double_t  eps = 0 
)

Definition at line 81 of file RooIntegrator1D.cxx.

References _useIntegrandLimits, RooAbsIntegrator::_valid, initialize(), and kTRUE.

RooIntegrator1D::RooIntegrator1D ( const RooAbsFunc function,
Double_t  xmin,
Double_t  xmax,
SummationRule  rule = Trapezoid,
Int_t  maxSteps = 0,
Double_t  eps = 0 
)

Definition at line 95 of file RooIntegrator1D.cxx.

References _useIntegrandLimits, RooAbsIntegrator::_valid, _xmax, _xmin, initialize(), and kFALSE.

RooIntegrator1D::RooIntegrator1D ( const RooAbsFunc function,
const RooNumIntConfig config 
)

Definition at line 119 of file RooIntegrator1D.cxx.

References _doExtrap, _fixSteps, _maxSteps, _minStepsZero, _rule, _useIntegrandLimits, RooAbsIntegrator::_valid, RooArgSet::getCatIndex(), TObject::GetName(), RooArgSet::getRealValue(), initialize(), RooFit::Integration, kTRUE, oocoutE, and Trapezoid.

RooIntegrator1D::RooIntegrator1D ( const RooAbsFunc function,
Double_t  xmin,
Double_t  xmax,
const RooNumIntConfig config 
)

Definition at line 148 of file RooIntegrator1D.cxx.

References _doExtrap, _fixSteps, _maxSteps, _minStepsZero, _rule, _useIntegrandLimits, RooAbsIntegrator::_valid, _xmax, _xmin, RooArgSet::getCatIndex(), TObject::GetName(), RooArgSet::getRealValue(), initialize(), kFALSE, and Trapezoid.

RooIntegrator1D::~RooIntegrator1D (  )  [virtual]

Definition at line 216 of file RooIntegrator1D.cxx.

References _c, _d, _h, _s, and _x.

RooIntegrator1D::RooIntegrator1D (  ) 

RooIntegrator1D::RooIntegrator1D ( const RooAbsFunc function,
SummationRule  rule = Trapezoid,
Int_t  maxSteps = 0,
Double_t  eps = 0 
)

RooIntegrator1D::RooIntegrator1D ( const RooAbsFunc function,
Double_t  xmin,
Double_t  xmax,
SummationRule  rule = Trapezoid,
Int_t  maxSteps = 0,
Double_t  eps = 0 
)

RooIntegrator1D::RooIntegrator1D ( const RooAbsFunc function,
const RooNumIntConfig config 
)

RooIntegrator1D::RooIntegrator1D ( const RooAbsFunc function,
Double_t  xmin,
Double_t  xmax,
const RooNumIntConfig config 
)

virtual RooIntegrator1D::~RooIntegrator1D (  )  [virtual]


Member Function Documentation

RooAbsIntegrator * RooIntegrator1D::clone ( const RooAbsFunc function,
const RooNumIntConfig config 
) const [virtual]

Implements RooAbsIntegrator.

Definition at line 174 of file RooIntegrator1D.cxx.

References RooIntegrator1D().

Bool_t RooIntegrator1D::checkLimits (  )  const [virtual]

Reimplemented from RooAbsIntegrator.

Definition at line 247 of file RooIntegrator1D.cxx.

References _range, _useIntegrandLimits, _xmax, _xmin, RooAbsFunc::getMaxLimit(), RooAbsFunc::getMinLimit(), RooAbsIntegrator::integrand(), RooFit::Integration, RooNumber::isInfinite(), RooAbsIntegrator::isValid(), kFALSE, kTRUE, and oocoutE.

Referenced by RooIntegrator2D::checkLimits(), initialize(), and setLimits().

Double_t RooIntegrator1D::integral ( const Double_t yvec = 0  )  [virtual]

Implements RooAbsIntegrator.

Definition at line 267 of file RooIntegrator1D.cxx.

References _doExtrap, _epsAbs, _epsRel, _extrapError, _extrapValue, _fixSteps, RooAbsIntegrator::_function, _h, _maxSteps, _minStepsZero, _nPoints, _range, _rule, _s, _x, _xmax, _xmin, addMidpoints(), addTrapezoids(), extrapolate(), ROOT::Math::fabs(), RooAbsFunc::getDimension(), RooAbsFunc::getName(), i, RooFit::Integration, RooAbsIntegrator::isValid(), j, kFALSE, kTRUE, ooccoutW, oocoutW, and Trapezoid.

Referenced by RooDstD0BG::analyticalIntegral(), and RooImproperIntegrator1D::integral().

Bool_t RooIntegrator1D::setLimits ( Double_t xmin,
Double_t xmax 
) [virtual]

Reimplemented from RooAbsIntegrator.

Definition at line 230 of file RooIntegrator1D.cxx.

References _useIntegrandLimits, _xmax, _xmin, checkLimits(), RooFit::Integration, kFALSE, and oocoutE.

Referenced by RooImproperIntegrator1D::checkLimits().

virtual Bool_t RooIntegrator1D::setUseIntegrandLimits ( Bool_t  flag  )  [inline, virtual]

Reimplemented from RooAbsIntegrator.

Definition at line 46 of file RooIntegrator1D.h.

References _useIntegrandLimits, and kTRUE.

virtual Bool_t RooIntegrator1D::canIntegrate1D (  )  const [inline, virtual]

Implements RooAbsIntegrator.

Definition at line 48 of file RooIntegrator1D.h.

References kTRUE.

virtual Bool_t RooIntegrator1D::canIntegrate2D (  )  const [inline, virtual]

Implements RooAbsIntegrator.

Definition at line 49 of file RooIntegrator1D.h.

References kFALSE.

virtual Bool_t RooIntegrator1D::canIntegrateND (  )  const [inline, virtual]

Implements RooAbsIntegrator.

Definition at line 50 of file RooIntegrator1D.h.

References kFALSE.

virtual Bool_t RooIntegrator1D::canIntegrateOpenEnded (  )  const [inline, virtual]

Implements RooAbsIntegrator.

Definition at line 51 of file RooIntegrator1D.h.

References kFALSE.

void RooIntegrator1D::registerIntegrator ( RooNumIntFactory fact  )  [static, protected]

Definition at line 49 of file RooIntegrator1D.cxx.

References RooNumIntConfig::defaultConfig(), RooCategory::defineType(), TObject::GetName(), RooNumIntConfig::method1D(), Midpoint, RooIntegrator1D(), RooCategory::setLabel(), RooNumIntFactory::storeProtoIntegrator(), and Trapezoid.

Referenced by RooNumIntFactory::RooNumIntFactory().

Bool_t RooIntegrator1D::initialize (  )  [protected]

Definition at line 183 of file RooIntegrator1D.cxx.

References _c, _d, _epsAbs, _epsRel, RooAbsIntegrator::_function, _h, _maxSteps, _nPoints, _rule, _s, _x, checkLimits(), RooAbsFunc::getDimension(), RooFit::Integration, RooAbsIntegrator::isValid(), kFALSE, oocoutE, and Trapezoid.

Referenced by RooIntegrator1D().

Double_t RooIntegrator1D::addTrapezoids ( Int_t  n  )  [protected]

Definition at line 373 of file RooIntegrator1D.cxx.

References _range, _savedResult, _xmax, _xmin, RooAbsIntegrator::integrand(), j, x, and xvec().

Referenced by integral().

Double_t RooIntegrator1D::addMidpoints ( Int_t  n  )  [protected]

Definition at line 340 of file RooIntegrator1D.cxx.

References _range, _savedResult, _xmax, _xmin, RooAbsIntegrator::integrand(), j, x, and xvec().

Referenced by integral().

void RooIntegrator1D::extrapolate ( Int_t  n  )  [protected]

Definition at line 402 of file RooIntegrator1D.cxx.

References _c, _d, _extrapError, _extrapValue, _h, _nPoints, _s, ROOT::Math::fabs(), hp, i, RooFit::Integration, m, oocoutE, and w.

Referenced by integral().

Double_t* RooIntegrator1D::xvec ( Double_t xx  )  [inline, protected]

Integrator workspace.

Definition at line 89 of file RooIntegrator1D.h.

References _x.

Referenced by addMidpoints(), and addTrapezoids().

virtual RooAbsIntegrator* RooIntegrator1D::clone ( const RooAbsFunc function,
const RooNumIntConfig config 
) const [virtual]

Implements RooAbsIntegrator.

virtual Bool_t RooIntegrator1D::checkLimits (  )  const [virtual]

Reimplemented from RooAbsIntegrator.

virtual Double_t RooIntegrator1D::integral ( const Double_t yvec = 0  )  [virtual]

Implements RooAbsIntegrator.

Bool_t RooIntegrator1D::setLimits ( Double_t xmin,
Double_t xmax 
) [virtual]

Reimplemented from RooAbsIntegrator.

virtual Bool_t RooIntegrator1D::setUseIntegrandLimits ( Bool_t  flag  )  [inline, virtual]

Reimplemented from RooAbsIntegrator.

Definition at line 46 of file RooIntegrator1D.h.

References _useIntegrandLimits, and kTRUE.

virtual Bool_t RooIntegrator1D::canIntegrate1D (  )  const [inline, virtual]

Implements RooAbsIntegrator.

Definition at line 48 of file RooIntegrator1D.h.

References kTRUE.

virtual Bool_t RooIntegrator1D::canIntegrate2D (  )  const [inline, virtual]

Implements RooAbsIntegrator.

Definition at line 49 of file RooIntegrator1D.h.

References kFALSE.

virtual Bool_t RooIntegrator1D::canIntegrateND (  )  const [inline, virtual]

Implements RooAbsIntegrator.

Definition at line 50 of file RooIntegrator1D.h.

References kFALSE.

virtual Bool_t RooIntegrator1D::canIntegrateOpenEnded (  )  const [inline, virtual]

Implements RooAbsIntegrator.

Definition at line 51 of file RooIntegrator1D.h.

References kFALSE.

static void RooIntegrator1D::registerIntegrator ( RooNumIntFactory fact  )  [static, protected]

Bool_t RooIntegrator1D::initialize (  )  [protected]

Double_t RooIntegrator1D::addTrapezoids ( Int_t  n  )  [protected]

Double_t RooIntegrator1D::addMidpoints ( Int_t  n  )  [protected]

void RooIntegrator1D::extrapolate ( Int_t  n  )  [protected]

Double_t* RooIntegrator1D::xvec ( Double_t xx  )  [inline, protected]

Integrator workspace.

Definition at line 89 of file RooIntegrator1D.h.

References _x.


Friends And Related Function Documentation

RooNumIntFactory [friend]

Definition at line 55 of file RooIntegrator1D.h.


Member Data Documentation

Bool_t RooIntegrator1D::_useIntegrandLimits [protected]

Definition at line 60 of file RooIntegrator1D.h.

Referenced by checkLimits(), RooIntegrator1D(), setLimits(), and setUseIntegrandLimits().

SummationRule RooIntegrator1D::_rule [protected]

Definition at line 63 of file RooIntegrator1D.h.

Referenced by initialize(), integral(), and RooIntegrator1D().

Int_t RooIntegrator1D::_maxSteps [protected]

Definition at line 64 of file RooIntegrator1D.h.

Referenced by initialize(), integral(), and RooIntegrator1D().

Int_t RooIntegrator1D::_minStepsZero [protected]

Definition at line 65 of file RooIntegrator1D.h.

Referenced by integral(), and RooIntegrator1D().

Int_t RooIntegrator1D::_fixSteps [protected]

Definition at line 66 of file RooIntegrator1D.h.

Referenced by integral(), and RooIntegrator1D().

Double_t RooIntegrator1D::_epsAbs [protected]

Definition at line 67 of file RooIntegrator1D.h.

Referenced by initialize(), and integral().

Double_t RooIntegrator1D::_epsRel [protected]

Definition at line 68 of file RooIntegrator1D.h.

Referenced by initialize(), and integral().

Bool_t RooIntegrator1D::_doExtrap [protected]

Definition at line 69 of file RooIntegrator1D.h.

Referenced by integral(), and RooIntegrator1D().

Double_t RooIntegrator1D::_xmin [mutable, protected]

Definition at line 78 of file RooIntegrator1D.h.

Referenced by addMidpoints(), addTrapezoids(), checkLimits(), integral(), RooIntegrator1D(), and setLimits().

Double_t RooIntegrator1D::_xmax [mutable, protected]

Lower integration bound.

Definition at line 79 of file RooIntegrator1D.h.

Referenced by addMidpoints(), addTrapezoids(), checkLimits(), integral(), RooIntegrator1D(), and setLimits().

Double_t RooIntegrator1D::_range [mutable, protected]

Upper integration bound.

Definition at line 80 of file RooIntegrator1D.h.

Referenced by addMidpoints(), addTrapezoids(), checkLimits(), and integral().

Double_t RooIntegrator1D::_extrapValue [protected]

Size of integration range.

Definition at line 81 of file RooIntegrator1D.h.

Referenced by extrapolate(), and integral().

Double_t RooIntegrator1D::_extrapError [protected]

Extrapolated value.

Definition at line 82 of file RooIntegrator1D.h.

Referenced by extrapolate(), and integral().

Double_t* RooIntegrator1D::_h [protected]

Error on extrapolated value.

Definition at line 83 of file RooIntegrator1D.h.

Referenced by extrapolate(), initialize(), integral(), and ~RooIntegrator1D().

Double_t* RooIntegrator1D::_s [protected]

Integrator workspace.

Definition at line 84 of file RooIntegrator1D.h.

Referenced by extrapolate(), initialize(), integral(), and ~RooIntegrator1D().

Double_t* RooIntegrator1D::_c [protected]

Integrator workspace.

Definition at line 85 of file RooIntegrator1D.h.

Referenced by extrapolate(), initialize(), and ~RooIntegrator1D().

Double_t* RooIntegrator1D::_d [protected]

Integrator workspace.

Definition at line 86 of file RooIntegrator1D.h.

Referenced by extrapolate(), initialize(), and ~RooIntegrator1D().

Double_t RooIntegrator1D::_savedResult [protected]

Integrator workspace.

Definition at line 87 of file RooIntegrator1D.h.

Referenced by addMidpoints(), and addTrapezoids().

Double_t* RooIntegrator1D::_x [protected]

Definition at line 91 of file RooIntegrator1D.h.

Referenced by initialize(), integral(), xvec(), and ~RooIntegrator1D().

Double_t* RooIntegrator1D::_h [protected]

Error on extrapolated value.

Definition at line 83 of file RooIntegrator1D.h.

Double_t* RooIntegrator1D::_s [protected]

Integrator workspace.

Definition at line 84 of file RooIntegrator1D.h.

Double_t* RooIntegrator1D::_c [protected]

Integrator workspace.

Definition at line 85 of file RooIntegrator1D.h.

Double_t* RooIntegrator1D::_d [protected]

Integrator workspace.

Definition at line 86 of file RooIntegrator1D.h.

Double_t* RooIntegrator1D::_x [protected]

Definition at line 91 of file RooIntegrator1D.h.


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:33:46 2011 for ROOT_528-00b_version by  doxygen 1.5.1