00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef ROO_NUM_GEN_CONFIG
00017 #define ROO_NUM_GEN_CONFIG
00018
00019 #include "TObject.h"
00020 #include "RooCategory.h"
00021 #include "RooLinkedList.h"
00022 class RooNumGenFactory ;
00023 class RooAbsNumGenerator ;
00024
00025 class RooNumGenConfig : public TObject, public RooPrintable {
00026 public:
00027
00028 RooNumGenConfig();
00029 RooNumGenConfig(const RooNumGenConfig& other) ;
00030 RooNumGenConfig& operator=(const RooNumGenConfig& other) ;
00031 virtual ~RooNumGenConfig();
00032
00033
00034 RooCategory& method1D(Bool_t cond, Bool_t cat) ;
00035 RooCategory& method2D(Bool_t cond, Bool_t cat) ;
00036 RooCategory& methodND(Bool_t cond, Bool_t cat) ;
00037 const RooCategory& method1D(Bool_t cond, Bool_t cat) const ;
00038 const RooCategory& method2D(Bool_t cond, Bool_t cat) const ;
00039 const RooCategory& methodND(Bool_t cond, Bool_t cat) const ;
00040
00041
00042 static RooNumGenConfig& defaultConfig() ;
00043
00044 Bool_t addConfigSection(const RooAbsNumGenerator* proto, const RooArgSet& defaultConfig) ;
00045 const RooArgSet& getConfigSection(const char* name) const ;
00046 RooArgSet& getConfigSection(const char* name) ;
00047
00048 void printMultiline(ostream &os, Int_t content, Bool_t verbose, TString indent= "") const;
00049
00050 inline virtual void Print(Option_t *options= 0) const {
00051 printStream(defaultPrintStream(),defaultPrintContents(options),defaultPrintStyle(options));
00052 }
00053 virtual StyleOption defaultPrintStyle(Option_t* opt) const ;
00054
00055
00056 static void cleanup() ;
00057
00058 protected:
00059
00060 static RooNumGenConfig* _default ;
00061
00062 RooCategory _method1D ;
00063 RooCategory _method1DCat ;
00064 RooCategory _method1DCond ;
00065 RooCategory _method1DCondCat ;
00066
00067 RooCategory _method2D ;
00068 RooCategory _method2DCat ;
00069 RooCategory _method2DCond ;
00070 RooCategory _method2DCondCat ;
00071
00072 RooCategory _methodND ;
00073 RooCategory _methodNDCat ;
00074 RooCategory _methodNDCond ;
00075 RooCategory _methodNDCondCat ;
00076
00077 RooLinkedList _configSets ;
00078
00079 ClassDef(RooNumGenConfig,1)
00080 };
00081
00082 #endif
00083
00084