16#ifndef ROO_NUM_INT_FACTORY
17#define ROO_NUM_INT_FACTORY
47 std::map<std::string,std::pair<std::unique_ptr<RooAbsIntegrator>,std::string> >
_map;
void(* RooNumIntInitializerFunc)(RooNumIntFactory &)
#define ClassDef(name, id)
typedef void((*Func_t)())
Abstract interface for evaluating a real-valued function of one real variable and performing numerica...
RooAbsIntegrator is the abstract interface for integrators of real-valued functions that implement th...
RooArgSet is a container object that can hold multiple RooAbsArg objects.
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 ...
std::map< std::string, std::pair< std::unique_ptr< RooAbsIntegrator >, std::string > > _map
virtual ~RooNumIntFactory()=default
RooAbsIntegrator * createIntegrator(RooAbsFunc &func, const RooNumIntConfig &config, Int_t ndim=0, Bool_t isBinned=kFALSE) const
Construct a numeric integrator instance that operates on function 'func' and is configured with 'conf...
void init()
Register all known integrators by calling their static registration functions.
const RooAbsIntegrator * getProtoIntegrator(const char *name) const
Return prototype integrator with given (class) name.
const char * getDepIntegratorName(const char *name) const
Get list of class names of integrators needed by integrator named 'name'.
RooNumIntFactory(const RooNumIntFactory &other)=delete
Bool_t storeProtoIntegrator(RooAbsIntegrator *proto, const RooArgSet &defConfig, const char *depName="")
Method accepting registration of a prototype numeric integrator along with a RooArgSet of its default...
static RooNumIntFactory & instance()
Static method returning reference to singleton instance of factory.
Mother of all ROOT objects.