ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
MCParameters.h
Go to the documentation of this file.
1 // @(#)root/mathmore:$Id$
2 // Author: Magdalena Slawinska 08/2007
3 
4  /**********************************************************************
5  * *
6  * Copyright (c) 2004 ROOT Foundation, CERN/PH-SFT *
7  * *
8  * This library is free software; you can redistribute it and/or *
9  * modify it under the terms of the GNU General Public License *
10  * as published by the Free Software Foundation; either version 2 *
11  * of the License, or (at your option) any later version. *
12  * *
13  * This library is distributed in the hope that it will be useful, *
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
16  * General Public License for more details. *
17  * *
18  * You should have received a copy of the GNU General Public License *
19  * along with this library (see file COPYING); if not, write *
20  * to the Free Software Foundation, Inc., 59 Temple Place, Suite *
21  * 330, Boston, MA 02111-1307 USA, or contact the author. *
22  * *
23  **********************************************************************/
24 
25 
26 #ifndef ROOT_Math_MCParameters
27 #define ROOT_Math_MCParameters
28 
29 #include <cstring> // for size_t
30 
31 namespace ROOT {
32 namespace Math {
33 
34 
35 class IOptions;
36 
37 /**
38  structures collecting parameters
39  for VEGAS multidimensional integration
40  FOr implementation of default parameters see file
41  mathmore/src/GSLMCIntegrationWorkspace.h
42 
43  @ingroup MCIntegration
44 */
46  double alpha;
47  size_t iterations;
48  int stage;
49  int mode;
50  int verbose;
51 
52  // constructor of default parameters
54 
55  // construct from GenAlgoOptions
56  // parameter not specified are ignored
58 
59  void SetDefaultValues();
60 
62 
63  /// convert to options (return object is managed by the user)
65 };
66 
67 
68 
69 
70 /**
71  structures collecting parameters
72  for MISER multidimensional integration
73 
74  @ingroup MCIntegration
75 */
77  double estimate_frac;
78  size_t min_calls;
80  double alpha;
81  double dither;
82 
83  // constructor of default parameters
84  // needs dimension since min_calls = 16 * dim
85  MiserParameters(size_t dim=10) { SetDefaultValues(dim); }
86 
87  void SetDefaultValues(size_t dim=10);
88 
89  // construct from GenAlgoOptions
90  // parameter not specified are ignored
91  MiserParameters(const ROOT::Math::IOptions & opt, size_t dim = 10);
92 
94 
95  /// convert to options (return object is managed by the user)
97 
98 };
99 
101 };
102 
103 } // namespace Math
104 } // namespace ROOT
105 
106 #endif
ROOT::Math::IOptions * operator()() const
convert to options (return object is managed by the user)
void SetDefaultValues(size_t dim=10)
default MISER parameters (copied from gsl/monte/vegas.c)
structures collecting parameters for MISER multidimensional integration
Definition: MCParameters.h:76
MiserParameters(size_t dim=10)
Definition: MCParameters.h:85
structures collecting parameters for VEGAS multidimensional integration FOr implementation of default...
Definition: MCParameters.h:45
void SetDefaultValues()
default VEGAS parameters (copied from gsl/monte/vegas.c)
ROOT::Math::IOptions * operator()() const
convert to options (return object is managed by the user)
MiserParameters & operator=(const ROOT::Math::IOptions &opt)
VegasParameters & operator=(const ROOT::Math::IOptions &opt)
Generic interface for defining configuration options of a numerical algorithm.
Definition: IOptions.h:32