16 #ifndef ROO_NUM_INT_FACTORY
17 #define ROO_NUM_INT_FACTORY
24 class RooNumIntConfig ;
27 class RooNumIntFactory ;
28 typedef void (*RooNumIntInitializerFunc)(RooNumIntFactory&) ;
30 class RooNumIntFactory :
public TObject {
33 static RooNumIntFactory& instance() ;
34 virtual ~RooNumIntFactory() =
default;
36 Bool_t storeProtoIntegrator(RooAbsIntegrator* proto,
const RooArgSet& defConfig,
const char* depName=
"") ;
37 const RooAbsIntegrator* getProtoIntegrator(
const char* name)
const;
38 const char* getDepIntegratorName(
const char* name)
const;
40 RooAbsIntegrator* createIntegrator(RooAbsFunc& func,
const RooNumIntConfig& config, Int_t ndim=0, Bool_t isBinned=kFALSE)
const;
45 friend class RooNumIntConfig ;
47 std::map<std::string,std::pair<std::unique_ptr<RooAbsIntegrator>,std::string> > _map;
50 RooNumIntFactory(
const RooNumIntFactory& other) =
delete;
55 ClassDef(RooNumIntFactory, 0)