Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RooNumGenFactory.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Project: RooFit *
3 * Package: RooFitCore *
4 * File: $Id$
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_NUM_GEN_FACTORY
17#define ROO_NUM_GEN_FACTORY
18
19#include <map>
20#include <string>
21#include "TObject.h"
22#include "RooLinkedList.h"
23#include "RooAbsNumGenerator.h"
24class RooNumGenConfig ;
25class RooAbsReal ;
26
27class RooNumGenFactory ;
29
30class RooNumGenFactory : public TObject {
31public:
32
33 static RooNumGenFactory& instance() ;
34 ~RooNumGenFactory() override;
35
36 bool storeProtoSampler(RooAbsNumGenerator* proto, const RooArgSet& defConfig) ;
37 const RooAbsNumGenerator* getProtoSampler(const char* name) ;
38
39 RooAbsNumGenerator* createSampler(RooAbsReal& func, const RooArgSet& genVars, const RooArgSet& condVars,
40 const RooNumGenConfig& config, bool verbose=false, RooAbsReal* maxFuncVal=nullptr) ;
41
42
43protected:
44
45 friend class RooNumGenConfig ;
46
47 std::map<std::string,RooAbsNumGenerator*> _map ;
48
51};
52
53#endif
54
55
void(* RooNumGenInitializerFunc)(RooNumGenFactory &)
char name[80]
Definition TGX11.cxx:110
const char * proto
Definition civetweb.c:17535
Abstract base class for MC event generator implementations like RooAcceptReject and RooFoam.
Abstract base class for objects that represent a real value and implements functionality common to al...
Definition RooAbsReal.h:59
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition RooArgSet.h:24
Holds the configuration parameters of the various numeric integrators used by RooRealIntegral.
Factory to instantiate numeric integrators from a given function binding and a given configuration.
RooAbsNumGenerator * createSampler(RooAbsReal &func, const RooArgSet &genVars, const RooArgSet &condVars, const RooNumGenConfig &config, bool verbose=false, RooAbsReal *maxFuncVal=nullptr)
Construct a numeric integrator instance that operates on function 'func' and is configured with 'conf...
static RooNumGenFactory & instance()
Static method returning reference to singleton instance of factory.
bool storeProtoSampler(RooAbsNumGenerator *proto, const RooArgSet &defConfig)
Method accepting registration of a prototype numeric integrator along with a RooArgSet of its default...
~RooNumGenFactory() override
Destructor.
RooNumGenFactory()
Constructor.
std::map< std::string, RooAbsNumGenerator * > _map
const RooAbsNumGenerator * getProtoSampler(const char *name)
Return prototype integrator with given (class) name.
Mother of all ROOT objects.
Definition TObject.h:41