queso-0.57.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-2017 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 #include <queso/ScopedPtr.h>
37 
38 #define UQ_ENV_FILENAME_FOR_NO_OUTPUT_FILE "."
39 #define UQ_ENV_FILENAME_FOR_NO_INPUT_FILE "."
40 
41 #define UQ_ENV_HELP ""
42 #define UQ_ENV_NUM_SUB_ENVIRONMENTS_ODV 1
43 #define UQ_ENV_SUB_SCREEN_WRITE_ODV 0
44 #define UQ_ENV_SUB_DISPLAY_FILE_NAME_ODV UQ_ENV_FILENAME_FOR_NO_OUTPUT_FILE
45 #define UQ_ENV_SUB_DISPLAY_ALLOW_ALL_ODV 0
46 #define UQ_ENV_SUB_DISPLAY_ALLOW_INTER0_ODV 0
47 #define UQ_ENV_SUB_DISPLAY_ALLOWED_SET_ODV ""
48 #define UQ_ENV_DISPLAY_VERBOSITY_ODV 0
49 #define UQ_ENV_SYNC_VERBOSITY_ODV 0
50 #define UQ_ENV_CHECKING_LEVEL_ODV 0
51 #define UQ_ENV_RNG_TYPE_ODV "gsl"
52 #define UQ_ENV_SEED_ODV 0
53 #define UQ_ENV_IDENTIFYING_STRING_ODV ""
54 #define UQ_ENV_PLATFORM_NAME_ODV ""
55 #define UQ_ENV_NUM_DEBUG_PARAMS_ODV 0
56 #define UQ_ENV_DEBUG_PARAM_ODV 0.
57 
58 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
59 // Forward declarations
60 namespace boost {
61  namespace program_options {
62  class options_description;
63  }
64 }
65 #endif // DISABLE_BOOST_PROGRAM_OPTIONS
66 
67 namespace QUESO {
68 
69 // Forward declarations
70 class BaseEnvironment;
71 
85 {
86 public:
88 
91  EnvOptionsValues(const BaseEnvironment * env, const char * prefix);
92 
95 
97  virtual ~EnvOptionsValues();
99 
101 
105 
106  std::string m_prefix;
107 
110  std::string m_help;
111 
114  unsigned int m_numSubEnvironments;
115 
117  std::string m_subDisplayFileName;
118 
120 
124 
126 
130 
132 
136  std::set<unsigned int> m_subDisplayAllowedSet;
137 
139  unsigned int m_displayVerbosity;
140 
142  unsigned int m_syncVerbosity;
143 
145  unsigned int m_checkingLevel;
146 
148  std::string m_rngType;
149 
151 
157  int m_seed;
158 
160  std::string m_platformName;
161 
163  std::string m_identifyingString;
164 
166  unsigned int m_numDebugParams;
167 
169  std::vector<double> m_debugParams;
171 
172 private:
174 
175 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
177 #endif // DISABLE_BOOST_PROGRAM_OPTIONS
178 
180  std::string m_option_help;
181 
184 
187 
190 
193 
196 
199 
202 
205 
207  std::string m_option_rngType;
208 
210  std::string m_option_seed;
211 
214 
217 
219  void copy(const EnvOptionsValues& src);
220 
222  void checkOptions();
223 
225  friend std::ostream& operator<<(std::ostream& os,
226  const EnvOptionsValues & obj);
227 };
228 
236 {
237 public:
239 
240 
242  EnvironmentOptions(const BaseEnvironment& env, const char* prefix);
243 
245  EnvironmentOptions(const BaseEnvironment& env, const char* prefix, const EnvOptionsValues& alternativeOptionsValues);
246 
250 
252 
253  void scanOptionsValues();
255 
257  void print (std::ostream& os) const;
259 
260 
263 
264 private:
265 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
266  void defineMyOptions (boost::program_options::options_description& optionsDesc) const;
268 
270  void getMyOptionValues(boost::program_options::options_description& optionsDesc);
271 #endif // DISABLE_BOOST_PROGRAM_OPTIONS
272 
275 
277  std::string m_prefix;
278 
280 
283 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
285 #endif // DISABLE_BOOST_PROGRAM_OPTIONS
286 
287  std::string m_option_help;
288 
291 
294 
297 
300 
303 
306 
309 
312 
314  std::string m_option_rngType;
315 
317 
319  std::string m_option_seed;
320 
323 
326 };
327 
329 std::ostream& operator<<(std::ostream& os, const EnvironmentOptions& obj);
330 
331 } // End namespace QUESO
332 
333 #endif // UQ_ENVIRONMENT_CLASS_H
std::string m_option_subDisplayAllowedSet
Input file option name for m_subDisplayAllowedSet.
std::string m_option_rngType
Type of the random number generator.
std::string m_option_seed
Seed of the random number generator.
EnvironmentOptions(const BaseEnvironment &env, const char *prefix)
Default constructor.
std::string m_option_subDisplayAllowAll
Allows (or not) all sub-environments to write to output file.
unsigned int m_syncVerbosity
Synchronized verbosity.
ScopedPtr< BoostInputOptionsParser >::Type m_parser
std::string m_platformName
Platform name.
std::ostream & operator<<(std::ostream &os, const SequenceStatisticalOptions &obj)
std::string m_option_identifyingString
Input file option name for m_identifyingString.
std::string m_option_platformName
Input file option name for m_platformName.
std::string m_option_numSubEnvironments
My number of sub-environments.
std::string m_option_checkingLevel
Checking level.
bool m_subDisplayAllowInter0
Allows (or not) all inter0 nodes to write to output file.
std::string m_option_displayVerbosity
Input file option name for m_displayVerbosity.
void print(std::ostream &os) const
Print values of the options chosen.
std::string m_option_syncVerbosity
Input file option name for m_syncVerbosity.
std::string m_prefix
Options prefix.
unsigned int m_numDebugParams
Number of debug parameters. Unused?
std::string m_option_rngType
Input file option name for m_rngType.
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.
std::set< unsigned int > m_subDisplayAllowedSet
Sub-environments that will write to output.
std::unique_ptr< T > Type
Definition: ScopedPtr.h:76
std::string m_option_subDisplayAllowedSet
Sub-environments that will write to output.
std::string m_option_platformName
Platform name.
std::string m_option_identifyingString
Identifying string.
std::string m_option_help
Input file option name for flagging helpful printing output.
EnvOptionsValues()
Default constructor.
std::string m_rngType
Type of the random number generator.
EnvOptionsValues m_ov
Instance of EnvOptionsValues, a class with default values for QUESO environment.
unsigned int m_checkingLevel
Checking level.
std::string m_option_syncVerbosity
Synchronized verbosity.
std::string m_identifyingString
Identifying string.
std::string m_option_checkingLevel
Input file option name for m_checkingLevel.
int m_seed
Seed of the random number generator.
This class provides a suite options one can pass to a QUESO environment.
unsigned int m_displayVerbosity
Verbosity.
void defineMyOptions(boost::program_options::options_description &optionsDesc) const
Define my environment options as the default options.
std::string m_subDisplayFileName
Output filename for sub-screen writing.
std::string m_option_subDisplayAllowInter0
Allows (or not) all inter0 nodes to write to output file.
void checkOptions()
Sorts out any inter-option conflicts.
std::string m_option_numSubEnvironments
Input file option name for m_numSubEnvironments.
const BaseEnvironment * m_env
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.
std::string m_option_subDisplayAllowInter0
Input file option name for m_subDisplayAllowInter0.
void scanOptionsValues()
Scans option values from input file.
std::string m_option_displayVerbosity
Verbosity.
This class reads options one can pass to a QUESO environment through an input file.
std::string m_option_seed
Input file option name for m_seed.
const BaseEnvironment & m_env
Environment.
ScopedPtr< boost::program_options::options_description >::Type m_optionsDesc
Environment options description.
void getMyOptionValues(boost::program_options::options_description &optionsDesc)
Gets the option values of the environment.
std::string m_option_subDisplayFileName
Input file option name for m_subDisplayFileName.
std::string m_option_subDisplayAllowAll
Input file option name for m_subDisplayAllowAll.
virtual ~EnvOptionsValues()
Destructor.
friend std::ostream & operator<<(std::ostream &os, const EnvOptionsValues &obj)
Print values of the options chosen.
std::vector< double > m_debugParams
Debug parameters. Unused?
This (virtual) class sets up the environment underlying the use of the QUESO library by an executable...
Definition: Environment.h:198

Generated on Sat Apr 22 2017 14:04:35 for queso-0.57.0 by  doxygen 1.8.5