Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
DistSamplerOptions.h
Go to the documentation of this file.
1// @(#)root/mathcore:$Id$
2// Author: L. Moneta Fri Aug 15 2008
3
4/**********************************************************************
5 * *
6 * Copyright (c) 2008 LCG ROOT Math Team, CERN/PH-SFT *
7 * *
8 * *
9 **********************************************************************/
10
11#ifndef ROOT_Math_DistSamplerOptions
12#define ROOT_Math_DistSamplerOptions
13
14#include <string>
15
16#include <iostream>
17#include "Math/IOptions.h"
18
19namespace ROOT {
20
21
22namespace Math {
23
24
25//_______________________________________________________________________________
26/**
27 DistSampler options class
28
29 @ingroup NumAlgo
30*/
32
33public:
34
35 // static methods for setting and retrieving the default options
36
37 static void SetDefaultSampler(const char * type);
38 static void SetDefaultAlgorithm1D(const char * algo );
39 static void SetDefaultAlgorithmND(const char * algo );
40 static void SetDefaultPrintLevel(int level);
41
42 static const std::string & DefaultSampler();
43 static const std::string & DefaultAlgorithm1D();
44 static const std::string & DefaultAlgorithmND();
45 static int DefaultPrintLevel();
46
47 /// retrieve extra options - if not existing create a IOptions
48 static ROOT::Math::IOptions & Default(const char * name);
49
50 // find extra options - return 0 if not existing
51 static ROOT::Math::IOptions * FindDefault(const char * name);
52
53 /// print all the default options for the name given
54 static void PrintDefault(const char * name, std::ostream & os = std::cout);
55
56public:
57
58 // constructor using the default options
59 // pass optionally a pointer to the additional options
60 // otherwise look if they exist for this default minimizer
61 // and in that case they are copied in the constructed instance
62 // constructor takes dimension since a different default algorithm
63 // is used if the dimension is 1 or greater than 1
64 DistSamplerOptions(int dim = 0);
65
66 // destructor
68
69 // copy constructor
71
72 /// assignment operators
74
75 /** non-static methods for retrieving options */
76
77 /// set print level
78 int PrintLevel() const { return fLevel; }
79
80 /// return extra options (NULL pointer if they are not present)
81 IOptions * ExtraOptions() const { return fExtraOptions; }
82
83 /// type of minimizer
84 const std::string & Sampler() const { return fSamplerType; }
85
86 /// type of algorithm (method)
87 const std::string & Algorithm() const { return fAlgoType; }
88
89 /// print all the options
90 void Print(std::ostream & os = std::cout) const;
91
92 /** non-static methods for setting options */
93
94 /// set print level
95 void SetPrintLevel(int level) { fLevel = level; }
96
97 /// set minimizer type
98 void SetSampler(const char * type) { fSamplerType = type; }
99
100 /// set minimizer algorithm
101 void SetAlgorithm(const char *type) { fAlgoType = type; }
102
103 /// set extra options (in this case pointer is cloned)
104 void SetExtraOptions(const IOptions & opt);
105
106 /// set a specific algorithm option
107 template <class T>
108 void SetAlgoOption(const char * name, T value) {
111 }
112
113protected:
114
115 void CreateExtraOptions();
116
117private:
118
119 int fLevel; ///< debug print level
120 std::string fSamplerType; ///< DistSampler type (Unuran, Foam, etc...)xs
121 std::string fAlgoType; ///< DistSampler algorithmic specification (for Unuran only)
122
124
125};
126
127 } // end namespace Math
128
129} // end namespace ROOT
130
131#endif
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
char name[80]
Definition TGX11.cxx:110
DistSampler options class.
DistSamplerOptions & operator=(const DistSamplerOptions &opt)
assignment operators
int PrintLevel() const
non-static methods for retrieving options
static void SetDefaultSampler(const char *type)
void SetExtraOptions(const IOptions &opt)
set extra options (in this case pointer is cloned)
void SetAlgorithm(const char *type)
set minimizer algorithm
std::string fSamplerType
DistSampler type (Unuran, Foam, etc...)xs.
const std::string & Algorithm() const
type of algorithm (method)
static void SetDefaultPrintLevel(int level)
static void PrintDefault(const char *name, std::ostream &os=std::cout)
print all the default options for the name given
void SetSampler(const char *type)
set minimizer type
ROOT::Math::IOptions * fExtraOptions
extra options
static const std::string & DefaultSampler()
const std::string & Sampler() const
type of minimizer
std::string fAlgoType
DistSampler algorithmic specification (for Unuran only)
static void SetDefaultAlgorithmND(const char *algo)
IOptions * ExtraOptions() const
return extra options (NULL pointer if they are not present)
static const std::string & DefaultAlgorithmND()
static const std::string & DefaultAlgorithm1D()
static void SetDefaultAlgorithm1D(const char *algo)
static ROOT::Math::IOptions & Default(const char *name)
retrieve extra options - if not existing create a IOptions
static ROOT::Math::IOptions * FindDefault(const char *name)
void SetAlgoOption(const char *name, T value)
set a specific algorithm option
void SetPrintLevel(int level)
non-static methods for setting options
void Print(std::ostream &os=std::cout) const
print all the options
Generic interface for defining configuration options of a numerical algorithm.
Definition IOptions.h:31
void SetValue(const char *name, double val)
generic methods for retrieving options
Definition IOptions.h:45
Namespace for new Math classes and functions.
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.