Logo ROOT  
Reference Guide
RooSegmentedIntegrator2D.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Project: RooFit *
3 * Package: RooFitCore *
4 * File: $Id: RooSegmentedIntegrator2D.h,v 1.7 2007/05/11 09:11:30 verkerke Exp $
5 * Authors: *
6 * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
7 * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
8 * *
9 * Copyright (c) 2000-2005, Regents of the University of California *
10 * and Stanford University. All rights reserved. *
11 * *
12 * Redistribution and use in source and binary forms, *
13 * with or without modification, are permitted according to the terms *
14 * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
15 *****************************************************************************/
16#ifndef ROO_SEGMENTED_INTEGRATOR_2D
17#define ROO_SEGMENTED_INTEGRATOR_2D
18
20#include "RooIntegrator1D.h"
21#include "RooNumIntConfig.h"
22
24public:
25
26 // Constructors, assignment etc
28
30 RooSegmentedIntegrator2D(const RooAbsFunc& function, double xmin, double xmax, double ymin, double ymax,
31 const RooNumIntConfig& config) ;
32 RooAbsIntegrator* clone(const RooAbsFunc& function, const RooNumIntConfig& config) const override ;
33 ~RooSegmentedIntegrator2D() override ;
34
35 bool checkLimits() const override;
36
37 bool canIntegrate1D() const override { return false ; }
38 bool canIntegrate2D() const override { return true ; }
39 bool canIntegrateND() const override { return false ; }
40 bool canIntegrateOpenEnded() const override { return false ; }
41
42protected:
43
44 friend class RooNumIntFactory ;
45 static void registerIntegrator(RooNumIntFactory& fact) ;
46
49
50 ClassDefOverride(RooSegmentedIntegrator2D,0) // 2-dimensional piece-wise numerical integration engine
51};
52
53#endif
#define ClassDefOverride(name, id)
Definition: Rtypes.h:339
float xmin
Definition: THbookFile.cxx:95
float ymin
Definition: THbookFile.cxx:95
float xmax
Definition: THbookFile.cxx:95
float ymax
Definition: THbookFile.cxx:95
Abstract interface for evaluating a real-valued function of one real variable and performing numerica...
Definition: RooAbsFunc.h:27
RooAbsIntegrator is the abstract interface for integrators of real-valued functions that implement th...
RooNumIntConfig holds the configuration parameters of the various numeric integrators used by RooReal...
RooNumIntFactory is a factory to instantiate numeric integrators from a given function binding and a ...
RooSegmentedIntegrator1D implements an adaptive one-dimensional numerical integration algorithm.
RooSegmentedIntegrator2D implements an adaptive one-dimensional numerical integration algorithm.
RooSegmentedIntegrator2D()
Default constructor.
bool canIntegrate1D() const override
static void registerIntegrator(RooNumIntFactory &fact)
Register RooSegmentedIntegrator2D, its parameters, dependencies and capabilities with RooNumIntFactor...
RooSegmentedIntegrator1D * _xIntegrator
RooAbsIntegrator * clone(const RooAbsFunc &function, const RooNumIntConfig &config) const override
Virtual constructor with given function and configuration. Needed by RooNumIntFactory.
bool canIntegrate2D() const override
bool canIntegrateND() const override
bool checkLimits() const override
Check that our integration range is finite and otherwise return false.
bool canIntegrateOpenEnded() const override
~RooSegmentedIntegrator2D() override
Destructor.
void function(const Char_t *name_, T fun, const Char_t *docstring=0)
Definition: RExports.h:167