Logo ROOT   6.08/07
Reference Guide
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"
24 class RooNumGenConfig ;
25 class RooAbsReal ;
26 
27 class RooNumGenFactory ;
29 
30 class RooNumGenFactory : public TObject {
31 public:
32 
33  static RooNumGenFactory& instance() ;
34  virtual ~RooNumGenFactory();
35 
37  const RooAbsNumGenerator* getProtoSampler(const char* name) ;
38 
39  RooAbsNumGenerator* createSampler(RooAbsReal& func, const RooArgSet& genVars, const RooArgSet& condVars,
40  const RooNumGenConfig& config, Bool_t verbose=kFALSE, RooAbsReal* maxFuncVal=0) ;
41 
42  static void cleanup() ;
43 
44 
45 protected:
46 
47  friend class RooNumGenConfig ;
48 
49  std::map<std::string,RooAbsNumGenerator*> _map ;
50 
52  RooNumGenFactory(const RooNumGenFactory& other) ;
53 
55 
56 
57  ClassDef(RooNumGenFactory,1) // Numeric Generator factory
58 };
59 
60 #endif
61 
62 
const RooAbsNumGenerator * getProtoSampler(const char *name)
Return prototype integrator with given (class) name.
virtual ~RooNumGenFactory()
Destructor.
bool Bool_t
Definition: RtypesCore.h:59
const Bool_t kFALSE
Definition: Rtypes.h:92
RooAbsNumGenerator * createSampler(RooAbsReal &func, const RooArgSet &genVars, const RooArgSet &condVars, const RooNumGenConfig &config, Bool_t verbose=kFALSE, RooAbsReal *maxFuncVal=0)
Construct a numeric integrator instance that operates on function &#39;func&#39; and is configured with &#39;conf...
static void cleanup()
Cleanup routine called by atexit() handler installed by RooSentinel.
#define ClassDef(name, id)
Definition: Rtypes.h:254
RooNumGenFactory()
Constructor.
bool verbose
Class RooAbsNumGenerator is the abstract base class for MC event generator implementations like RooAc...
Bool_t storeProtoSampler(RooAbsNumGenerator *proto, const RooArgSet &defConfig)
Method accepting registration of a prototype numeric integrator along with a RooArgSet of its default...
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:53
double func(double *x, double *p)
Definition: stressTF1.cxx:213
std::map< std::string, RooAbsNumGenerator * > _map
Mother of all ROOT objects.
Definition: TObject.h:37
typedef void((*Func_t)())
static RooNumGenFactory & instance()
Static method returning reference to singleton instance of factory.
void(* RooNumGenInitializerFunc)(RooNumGenFactory &)
const char * proto
Definition: civetweb.c:11652
RooNumGenConfig holds the configuration parameters of the various numeric integrators used by RooReal...
RooNumGenFactory is a factory to instantiate numeric integrators from a given function binding and a ...
char name[80]
Definition: TGX11.cxx:109
static RooNumGenFactory * _instance