ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RooNumGenConfig.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_CONFIG
17 #define ROO_NUM_GEN_CONFIG
18 
19 #include "TObject.h"
20 #include "RooCategory.h"
21 #include "RooLinkedList.h"
22 class RooNumGenFactory ;
23 class RooAbsNumGenerator ;
24 
25 class RooNumGenConfig : public TObject, public RooPrintable {
26 public:
27 
29  RooNumGenConfig(const RooNumGenConfig& other) ;
31  virtual ~RooNumGenConfig();
32 
33  // Return selected integration techniques for 1,2,N dimensional integrals
34  RooCategory& method1D(Bool_t cond, Bool_t cat) ;
35  RooCategory& method2D(Bool_t cond, Bool_t cat) ;
36  RooCategory& methodND(Bool_t cond, Bool_t cat) ;
37  const RooCategory& method1D(Bool_t cond, Bool_t cat) const ;
38  const RooCategory& method2D(Bool_t cond, Bool_t cat) const ;
39  const RooCategory& methodND(Bool_t cond, Bool_t cat) const ;
40 
41 
42  static RooNumGenConfig& defaultConfig() ;
43 
44  Bool_t addConfigSection(const RooAbsNumGenerator* proto, const RooArgSet& defaultConfig) ;
45  const RooArgSet& getConfigSection(const char* name) const ;
46  RooArgSet& getConfigSection(const char* name) ;
47 
48  void printMultiline(std::ostream &os, Int_t content, Bool_t verbose, TString indent= "") const;
49 
50  inline virtual void Print(Option_t *options= 0) const {
52  }
53  virtual StyleOption defaultPrintStyle(Option_t* opt) const ;
54 
55 
56  static void cleanup() ;
57 
58 protected:
59 
61 
62  RooCategory _method1D ; // Selects integration method for 1D p.d.f.s
63  RooCategory _method1DCat ; // Selects integration method for 1D p.d.f.s with categories
64  RooCategory _method1DCond ; // Selects integration method for 1D conditional p.d.f.s
65  RooCategory _method1DCondCat ; // Selects integration method for 1D conditional p.d.f.s with categories
66 
67  RooCategory _method2D ; // Selects integration method for 2D p.d.f.s
68  RooCategory _method2DCat ; // Selects integration method for 2D p.d.f.s with categories
69  RooCategory _method2DCond ; // Selects integration method for 2D conditional p.d.f.s
70  RooCategory _method2DCondCat ; // Selects integration method for 2D conditional p.d.f.s with categories
71 
72  RooCategory _methodND ; // Selects integration method for ND p.d.f.s
73  RooCategory _methodNDCat ; // Selects integration method for ND p.d.f.s with categories
74  RooCategory _methodNDCond ; // Selects integration method for ND conditional p.d.f.s
75  RooCategory _methodNDCondCat ; // Selects integration method for ND conditional p.d.f.s with categories
76 
77  RooLinkedList _configSets ; // List of configuration sets for individual integration methods
78 
79  ClassDef(RooNumGenConfig,1) // Numeric (MC) Event generator configuration
80 };
81 
82 #endif
83 
84 
RooCategory & methodND(Bool_t cond, Bool_t cat)
const RooArgSet & getConfigSection(const char *name) const
Retrieve configuration information specific to integrator with given name.
RooLinkedList _configSets
RooCategory _method1DCond
virtual void printStream(std::ostream &os, Int_t contents, StyleOption style, TString indent="") const
Print description of object on ostream, printing contents set by contents integer, which is interpreted as an OR of 'enum ContentsOptions' values and in the style given by 'enum StyleOption'.
const char Option_t
Definition: RtypesCore.h:62
RooCategory _methodNDCondCat
Basic string class.
Definition: TString.h:137
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
RooCategory _methodNDCat
virtual Int_t defaultPrintContents(Option_t *opt) const
Default choice of contents to be printed (name and value)
#define ClassDef(name, id)
Definition: Rtypes.h:254
RooPlotable is a 'mix-in' base class that define the standard RooFit plotting and printing methods...
Definition: RooPrintable.h:26
RooNumGenConfig & operator=(const RooNumGenConfig &other)
Assignment operator from other RooNumGenConfig.
static RooNumGenConfig & defaultConfig()
Return reference to instance of default numeric integrator configuration object.
virtual void Print(Option_t *options=0) const
This method must be overridden when a class wants to print itself.
RooCategory _method1D
bool verbose
Class RooAbsNumGenerator is the abstract base class for MC event generator implementations like RooAc...
RooCategory _method2D
static void indent(ostringstream &buf, int indent_level)
virtual ~RooNumGenConfig()
Destructor.
RooCategory represents a fundamental (non-derived) discrete value object.
Definition: RooCategory.h:25
void printMultiline(std::ostream &os, Int_t content, Bool_t verbose, TString indent="") const
Detailed printing interface.
RooLinkedList is an collection class for internal use, storing a collection of RooAbsArg pointers in ...
Definition: RooLinkedList.h:35
static std::ostream & defaultPrintStream(std::ostream *os=0)
Return a reference to the current default stream to use in Print().
RooNumGenConfig()
Constructor.
RooCategory _methodNDCond
RooCategory _methodND
RooCategory _method2DCat
Bool_t addConfigSection(const RooAbsNumGenerator *proto, const RooArgSet &defaultConfig)
Add a configuration section for a particular integrator.
RooCategory _method2DCond
RooCategory _method1DCat
#define name(a, b)
Definition: linkTestLib0.cpp:5
Mother of all ROOT objects.
Definition: TObject.h:58
RooCategory _method2DCondCat
virtual StyleOption defaultPrintStyle(Option_t *opt) const
RooCategory _method1DCondCat
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 ...
static RooNumGenConfig * _default
static void cleanup()
Function called by atexit() handler installed by RooSentinel to cleanup global objects at end of job...
RooCategory & method2D(Bool_t cond, Bool_t cat)
RooCategory & method1D(Bool_t cond, Bool_t cat)