queso-0.56.0
EnvironmentOptions.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------bl-
2 //--------------------------------------------------------------------------
3 //
4 // QUESO - a library to support the Quantification of Uncertainty
5 // for Estimation, Simulation and Optimization
6 //
7 // Copyright (C) 2008-2015 The PECOS Development Team
8 //
9 // This library is free software; you can redistribute it and/or
10 // modify it under the terms of the Version 2.1 GNU Lesser General
11 // Public License as published by the Free Software Foundation.
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 // Lesser General Public License for more details.
17 //
18 // You should have received a copy of the GNU Lesser General Public
19 // License along with this library; if not, write to the Free Software
20 // Foundation, Inc. 51 Franklin Street, Fifth Floor,
21 // Boston, MA 02110-1301 USA
22 //
23 //-----------------------------------------------------------------------el-
24 
25 #ifndef UQ_ENVIRONMENT_OPTIONS_H
26 #define UQ_ENVIRONMENT_OPTIONS_H
27 
28 #include <string>
29 #include <set>
30 #include <vector>
31 
32 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
33 #include <queso/BoostInputOptionsParser.h>
34 #endif // DISABLE_BOOST_PROGRAM_OPTIONS
35 
36 #define UQ_ENV_FILENAME_FOR_NO_OUTPUT_FILE "."
37 #define UQ_ENV_FILENAME_FOR_NO_INPUT_FILE "."
38 
39 #define UQ_ENV_HELP ""
40 #define UQ_ENV_NUM_SUB_ENVIRONMENTS_ODV 1
41 #define UQ_ENV_SUB_SCREEN_WRITE_ODV 0
42 #define UQ_ENV_SUB_DISPLAY_FILE_NAME_ODV UQ_ENV_FILENAME_FOR_NO_OUTPUT_FILE
43 #define UQ_ENV_SUB_DISPLAY_ALLOW_ALL_ODV 0
44 #define UQ_ENV_SUB_DISPLAY_ALLOW_INTER0_ODV 0
45 #define UQ_ENV_SUB_DISPLAY_ALLOWED_SET_ODV ""
46 #define UQ_ENV_DISPLAY_VERBOSITY_ODV 0
47 #define UQ_ENV_SYNC_VERBOSITY_ODV 0
48 #define UQ_ENV_CHECKING_LEVEL_ODV 0
49 #define UQ_ENV_RNG_TYPE_ODV "gsl"
50 #define UQ_ENV_SEED_ODV 0
51 #define UQ_ENV_IDENTIFYING_STRING_ODV ""
52 #define UQ_ENV_PLATFORM_NAME_ODV ""
53 #define UQ_ENV_NUM_DEBUG_PARAMS_ODV 0
54 #define UQ_ENV_DEBUG_PARAM_ODV 0.
55 
56 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
57 // Forward declarations
58 namespace boost {
59  namespace program_options {
60  class options_description;
61  }
62 }
63 #endif // DISABLE_BOOST_PROGRAM_OPTIONS
64 
65 namespace QUESO {
66 
67 // Forward declarations
68 class BaseEnvironment;
69 
83 {
84 public:
86 
89  EnvOptionsValues(const BaseEnvironment * env, const char * prefix);
90 
93 
95  virtual ~EnvOptionsValues();
97 
99 
103 
104  std::string m_prefix;
105 
108  std::string m_help;
109 
112  unsigned int m_numSubEnvironments;
113 
115  std::string m_subDisplayFileName;
116 
118 
122 
124 
128 
130 
134  std::set<unsigned int> m_subDisplayAllowedSet;
135 
137  unsigned int m_displayVerbosity;
138 
140  unsigned int m_syncVerbosity;
141 
143  unsigned int m_checkingLevel;
144 
146  std::string m_rngType;
147 
149 
155  int m_seed;
156 
158  std::string m_platformName;
159 
161  std::string m_identifyingString;
162 
164  unsigned int m_numDebugParams;
165 
167  std::vector<double> m_debugParams;
169 
170 private:
172 
173 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
175 #endif // DISABLE_BOOST_PROGRAM_OPTIONS
176 
178  std::string m_option_help;
179 
182 
185 
188 
191 
194 
197 
200 
203 
205  std::string m_option_rngType;
206 
208  std::string m_option_seed;
209 
212 
215 
217  void copy(const EnvOptionsValues& src);
218 
220  void checkOptions();
221 
223  friend std::ostream& operator<<(std::ostream& os,
224  const EnvOptionsValues & obj);
225 };
226 
234 {
235 public:
237 
238 
240  EnvironmentOptions(const BaseEnvironment& env, const char* prefix);
241 
243  EnvironmentOptions(const BaseEnvironment& env, const char* prefix, const EnvOptionsValues& alternativeOptionsValues);
244 
248 
250 
251  void scanOptionsValues();
253 
255  void print (std::ostream& os) const;
257 
258 
261 
262 private:
263 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
264  void defineMyOptions (boost::program_options::options_description& optionsDesc) const;
266 
268  void getMyOptionValues(boost::program_options::options_description& optionsDesc);
269 #endif // DISABLE_BOOST_PROGRAM_OPTIONS
270 
273 
275  std::string m_prefix;
276 
278 
281 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
282  boost::program_options::options_description* m_optionsDesc;
283 #endif // DISABLE_BOOST_PROGRAM_OPTIONS
284 
285  std::string m_option_help;
286 
289 
292 
295 
298 
301 
304 
307 
310 
312  std::string m_option_rngType;
313 
315 
317  std::string m_option_seed;
318 
321 
324 };
325 
327 std::ostream& operator<<(std::ostream& os, const EnvironmentOptions& obj);
328 
329 } // End namespace QUESO
330 
331 #endif // UQ_ENVIRONMENT_CLASS_H
std::string m_option_syncVerbosity
Input file option name for m_syncVerbosity.
std::string m_option_subDisplayAllowAll
Input file option name for m_subDisplayAllowAll.
void copy(const EnvOptionsValues &src)
Makes an exact copy of an existing EnvOptionsValues instance.
bool m_subDisplayAllowAll
Allows (or not) all sub-environments to write to output file.
virtual ~EnvOptionsValues()
Destructor.
friend std::ostream & operator<<(std::ostream &os, const EnvOptionsValues &obj)
Print values of the options chosen.
std::ostream & operator<<(std::ostream &os, const BaseEnvironment &obj)
BoostInputOptionsParser * m_parser
This class provides a suite options one can pass to a QUESO environment.
boost::program_options::options_description * m_optionsDesc
Environment options description.
void defineMyOptions(boost::program_options::options_description &optionsDesc) const
Define my environment options as the default options.
std::string m_option_subDisplayAllowedSet
Input file option name for m_subDisplayAllowedSet.
This (virtual) class sets up the environment underlying the use of the QUESO library by an executable...
Definition: Environment.h:197
std::string m_option_subDisplayAllowInter0
Allows (or not) all inter0 nodes to write to output file.
unsigned int m_syncVerbosity
Synchronized verbosity.
std::string m_platformName
Platform name.
std::string m_option_help
Input file option name for flagging helpful printing output.
std::string m_option_identifyingString
Input file option name for m_identifyingString.
EnvOptionsValues()
Default constructor.
std::string m_option_numSubEnvironments
My number of sub-environments.
const BaseEnvironment & m_env
Environment.
void scanOptionsValues()
Scans option values from input file.
std::string m_option_checkingLevel
Checking level.
std::string m_option_displayVerbosity
Input file option name for m_displayVerbosity.
std::string m_option_checkingLevel
Input file option name for m_checkingLevel.
This class reads options one can pass to a QUESO environment through an input file.
std::string m_prefix
Options prefix.
unsigned int m_displayVerbosity
Verbosity.
void getMyOptionValues(boost::program_options::options_description &optionsDesc)
Gets the option values of the environment.
unsigned int m_numDebugParams
Number of debug parameters. Unused?
std::string m_subDisplayFileName
Output filename for sub-screen writing.
std::string m_option_rngType
Input file option name for m_rngType.
std::set< unsigned int > m_subDisplayAllowedSet
Sub-environments that will write to output.
std::string m_option_platformName
Platform name.
std::string m_option_rngType
Type of the random number generator.
EnvironmentOptions(const BaseEnvironment &env, const char *prefix)
Default constructor.
std::string m_option_subDisplayAllowInter0
Input file option name for m_subDisplayAllowInter0.
std::string m_option_seed
Input file option name for m_seed.
std::string m_rngType
Type of the random number generator.
void print(std::ostream &os) const
Print values of the options chosen.
unsigned int m_checkingLevel
Checking level.
std::string m_identifyingString
Identifying string.
std::string m_option_subDisplayFileName
Input file option name for m_subDisplayFileName.
int m_seed
Seed of the random number generator.
std::string m_option_subDisplayAllowedSet
Sub-environments that will write to output.
std::vector< double > m_debugParams
Debug parameters. Unused?
std::string m_option_seed
Seed of the random number generator.
void checkOptions()
Sorts out any inter-option conflicts.
std::string m_option_subDisplayAllowAll
Allows (or not) all sub-environments to write to output file.
std::string m_option_numSubEnvironments
Input file option name for m_numSubEnvironments.
const BaseEnvironment * m_env
std::string m_option_identifyingString
Identifying string.
std::string m_option_platformName
Input file option name for m_platformName.
std::string m_option_subDisplayFileName
My output filename for sub-screen writing.
EnvOptionsValues & operator=(const EnvOptionsValues &rhs)
Operator for copying the options of an environment.
bool m_subDisplayAllowInter0
Allows (or not) all inter0 nodes to write to output file.
EnvOptionsValues m_ov
Instance of EnvOptionsValues, a class with default values for QUESO environment.
std::string m_option_syncVerbosity
Synchronized verbosity.
std::string m_option_displayVerbosity
Verbosity.

Generated on Tue Nov 29 2016 10:53:10 for queso-0.56.0 by  doxygen 1.8.5