Logo ROOT   master
Reference Guide
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 
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 protected:
57 
58  RooCategory _method1D ; // Selects integration method for 1D p.d.f.s
59  RooCategory _method1DCat ; // Selects integration method for 1D p.d.f.s with categories
60  RooCategory _method1DCond ; // Selects integration method for 1D conditional p.d.f.s
61  RooCategory _method1DCondCat ; // Selects integration method for 1D conditional p.d.f.s with categories
62 
63  RooCategory _method2D ; // Selects integration method for 2D p.d.f.s
64  RooCategory _method2DCat ; // Selects integration method for 2D p.d.f.s with categories
65  RooCategory _method2DCond ; // Selects integration method for 2D conditional p.d.f.s
66  RooCategory _method2DCondCat ; // Selects integration method for 2D conditional p.d.f.s with categories
67 
68  RooCategory _methodND ; // Selects integration method for ND p.d.f.s
69  RooCategory _methodNDCat ; // Selects integration method for ND p.d.f.s with categories
70  RooCategory _methodNDCond ; // Selects integration method for ND conditional p.d.f.s
71  RooCategory _methodNDCondCat ; // Selects integration method for ND conditional p.d.f.s with categories
72 
73  RooLinkedList _configSets ; // List of configuration sets for individual integration methods
74 
75  ClassDef(RooNumGenConfig,1) // Numeric (MC) Event generator configuration
76 };
77 
78 #endif
79 
80 
virtual StyleOption defaultPrintStyle(Option_t *opt) const
RooCategory & methodND(Bool_t cond, Bool_t cat)
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'.
RooLinkedList _configSets
RooCategory _method1DCond
const char Option_t
Definition: RtypesCore.h:64
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgSet.h:28
RooCategory _methodNDCondCat
Basic string class.
Definition: TString.h:131
RooCategory _methodNDCat
#define ClassDef(name, id)
Definition: Rtypes.h:322
RooPlotable is a 'mix-in' base class that define the standard RooFit plotting and printing methods...
Definition: RooPrintable.h:25
void printMultiline(std::ostream &os, Int_t content, Bool_t verbose, TString indent="") const
Detailed printing interface.
RooNumGenConfig & operator=(const RooNumGenConfig &other)
Assignment operator from other RooNumGenConfig.
const RooArgSet & getConfigSection(const char *name) const
Retrieve configuration information specific to integrator with given name.
static RooNumGenConfig & defaultConfig()
Return reference to instance of default numeric integrator configuration object.
RooCategory _method1D
Class RooAbsNumGenerator is the abstract base class for MC event generator implementations like RooAc...
virtual Int_t defaultPrintContents(Option_t *opt) const
Default choice of contents to be printed (name and value)
RooCategory _method2D
static void indent(ostringstream &buf, int indent_level)
virtual ~RooNumGenConfig()
Destructor.
RooCategory is an object to represent discrete states.
Definition: RooCategory.h:23
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
Mother of all ROOT objects.
Definition: TObject.h:37
RooCategory _method2DCondCat
RooCategory _method1DCondCat
const char * proto
Definition: civetweb.c:16604
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 ...
virtual void Print(Option_t *options=0) const
This method must be overridden when a class wants to print itself.
char name[80]
Definition: TGX11.cxx:109
RooCategory & method2D(Bool_t cond, Bool_t cat)
RooCategory & method1D(Bool_t cond, Bool_t cat)