41 ClassImp(RooIntegrator2D);
48 void RooIntegrator2D::registerIntegrator(RooNumIntFactory& fact)
50 RooIntegrator2D* proto =
new RooIntegrator2D() ;
51 fact.storeProtoIntegrator(proto,RooArgSet(),RooIntegrator1D::Class()->GetName()) ;
52 RooNumIntConfig::defaultConfig().method2D().setLabel(proto->IsA()->GetName()) ;
59 RooIntegrator2D::RooIntegrator2D() :
60 _xIntegrator(0), _xint(0)
70 RooIntegrator2D::RooIntegrator2D(
const RooAbsFunc&
function, RooIntegrator1D::SummationRule rule,
71 Int_t maxSteps, Double_t eps) :
72 RooIntegrator1D(*(_xint=new RooIntegratorBinding(*(_xIntegrator=new RooIntegrator1D(function,rule,maxSteps,eps)))),rule,maxSteps,eps)
82 RooIntegrator2D::RooIntegrator2D(
const RooAbsFunc&
function, Double_t xmin, Double_t xmax,
83 Double_t ymin, Double_t ymax,
84 SummationRule rule, Int_t maxSteps, Double_t eps) :
85 RooIntegrator1D(*(_xint=new RooIntegratorBinding(*(_xIntegrator=new RooIntegrator1D(function,ymin,ymax,rule,maxSteps,eps)))),xmin,xmax,rule,maxSteps,eps)
95 RooIntegrator2D::RooIntegrator2D(
const RooAbsFunc&
function,
const RooNumIntConfig& config) :
96 RooIntegrator1D(*(_xint=new RooIntegratorBinding(*(_xIntegrator=new RooIntegrator1D(function,config)))),config)
106 RooIntegrator2D::RooIntegrator2D(
const RooAbsFunc&
function, Double_t xmin, Double_t xmax,
107 Double_t ymin, Double_t ymax,
108 const RooNumIntConfig& config) :
109 RooIntegrator1D(*(_xint=new RooIntegratorBinding(*(_xIntegrator=new RooIntegrator1D(function,ymin,ymax,config)))),xmin,xmax,config)
117 RooAbsIntegrator* RooIntegrator2D::clone(
const RooAbsFunc&
function,
const RooNumIntConfig& config)
const
119 return new RooIntegrator2D(
function,config) ;
127 RooIntegrator2D::~RooIntegrator2D()
130 delete _xIntegrator ;
137 Bool_t RooIntegrator2D::checkLimits()
const
139 Bool_t ret = RooIntegrator1D::checkLimits() ;
140 ret &= _xIntegrator->checkLimits() ;