// RooAbsIntegrator is the abstract interface for integrators of real-valued
// functions that implement the RooAbsFunc interface.
// END_HTML
#include "RooFit.h"
#include "Riostream.h"
#include "RooAbsIntegrator.h"
#include "RooAbsIntegrator.h"
#include "RooMsgService.h"
#include "TClass.h"
ClassImp(RooAbsIntegrator)
;
RooAbsIntegrator::RooAbsIntegrator() : _function(0), _valid(kFALSE), _printEvalCounter(kFALSE)
{
}
RooAbsIntegrator::RooAbsIntegrator(const RooAbsFunc& function, Bool_t doPrintEvalCounter) :
_function(&function), _valid(function.isValid()), _printEvalCounter(doPrintEvalCounter)
{
}
Double_t RooAbsIntegrator::calculate(const Double_t *yvec)
{
if (_printEvalCounter) integrand()->resetNumCall() ;
integrand()->saveXVec() ;
Double_t ret = integral(yvec) ;
integrand()->restoreXVec() ;
if (_printEvalCounter) {
cxcoutD(Tracing) << IsA()->GetName() << "::calculate() number of function calls = " << integrand()->numCall() << endl ;
}
return ret ;
}
Bool_t RooAbsIntegrator::setLimits(Double_t, Double_t)
{
return kFALSE ;
}
Bool_t RooAbsIntegrator::setUseIntegrandLimits(Bool_t)
{
return kFALSE ;
}
Last change: Wed Jun 25 08:31:37 2008
Last generated: 2008-06-25 08:31
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.