11 #ifndef ROOT_Math_DistSamplerOptions
12 #define ROOT_Math_DistSamplerOptions
32 class DistSamplerOptions {
38 static void SetDefaultSampler(
const char * type);
39 static void SetDefaultAlgorithm1D(
const char * algo );
40 static void SetDefaultAlgorithmND(
const char * algo );
41 static void SetDefaultPrintLevel(
int level);
43 static const std::string & DefaultSampler();
44 static const std::string & DefaultAlgorithm1D();
45 static const std::string & DefaultAlgorithmND();
46 static int DefaultPrintLevel();
49 static ROOT::Math::IOptions & Default(
const char * name);
52 static ROOT::Math::IOptions * FindDefault(
const char * name);
55 static void PrintDefault(
const char * name, std::ostream & os = std::cout);
65 DistSamplerOptions(
int dim = 0);
68 ~DistSamplerOptions();
71 DistSamplerOptions(
const DistSamplerOptions & opt);
74 DistSamplerOptions & operator=(
const DistSamplerOptions & opt);
79 int PrintLevel()
const {
return fLevel; }
82 IOptions * ExtraOptions()
const {
return fExtraOptions; }
85 const std::string & Sampler()
const {
return fSamplerType; }
88 const std::string & Algorithm()
const {
return fAlgoType; }
91 void Print(std::ostream & os = std::cout)
const;
96 void SetPrintLevel(
int level) { fLevel = level; }
99 void SetSampler(
const char * type) { fSamplerType = type; }
102 void SetAlgorithm(
const char *type) { fAlgoType = type; }
105 void SetExtraOptions(
const IOptions & opt);
111 std::string fSamplerType;
112 std::string fAlgoType;
115 ROOT::Math::IOptions * fExtraOptions;