queso-0.56.0
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
QUESO::ExperimentModelOptions Class Reference

#include <ExperimentModelOptions.h>

Collaboration diagram for QUESO::ExperimentModelOptions:
Collaboration graph
[legend]

Public Member Functions

 ExperimentModelOptions (const BaseEnvironment &env, const char *prefix)
 
 ExperimentModelOptions (const BaseEnvironment &env, const char *prefix, const EmOptionsValues &alternativeOptionsValues)
 
 ~ExperimentModelOptions ()
 
void scanOptionsValues ()
 
void print (std::ostream &os) const
 

Public Attributes

EmOptionsValues m_ov
 
std::string m_prefix
 

Private Member Functions

void defineMyOptions (boost::program_options::options_description &optionsDesc) const
 
void getMyOptionValues (boost::program_options::options_description &optionsDesc)
 

Private Attributes

const BaseEnvironmentm_env
 
boost::program_options::options_description * m_optionsDesc
 
std::string m_option_help
 
std::string m_option_Gvalues
 
std::string m_option_a_v
 
std::string m_option_b_v
 
std::string m_option_a_rho_v
 
std::string m_option_b_rho_v
 
std::string m_option_a_y
 
std::string m_option_b_y
 

Detailed Description

Definition at line 89 of file ExperimentModelOptions.h.

Constructor & Destructor Documentation

QUESO::ExperimentModelOptions::ExperimentModelOptions ( const BaseEnvironment env,
const char *  prefix 
)

Definition at line 219 of file ExperimentModelOptions.C.

References m_env, QUESO::BaseEnvironment::optionsInputFileName(), queso_deprecated, and queso_require_not_equal_to_msg.

222  :
223  m_ov (),
224  m_prefix ((std::string)(prefix) + "em_"),
225  m_env (env),
226 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
227  m_optionsDesc (new boost::program_options::options_description("Experiment model options")),
228 #endif // DISABLE_BOOST_PROGRAM_OPTIONS
229  m_option_help (m_prefix + "help" ),
230  m_option_Gvalues(m_prefix + "Gvalues"),
231  m_option_a_v (m_prefix + "a_v" ),
232  m_option_b_v (m_prefix + "b_v" ),
233  m_option_a_rho_v(m_prefix + "a_rho_v"),
234  m_option_b_rho_v(m_prefix + "b_rho_v"),
235  m_option_a_y (m_prefix + "a_y" ),
236  m_option_b_y (m_prefix + "b_y" )
237 {
239 
240  queso_require_not_equal_to_msg(m_env.optionsInputFileName(), std::string(""), std::string("this constructor is incompatible with the abscense of an options input file"));
241 }
std::string optionsInputFileName() const
Access to the attribute m_optionsInputFileName, which stores the name of the input file passed by the...
Definition: Environment.C:353
#define queso_deprecated()
Definition: Defines.h:134
#define queso_require_not_equal_to_msg(expr1, expr2, msg)
Definition: asserts.h:74
boost::program_options::options_description * m_optionsDesc
QUESO::ExperimentModelOptions::ExperimentModelOptions ( const BaseEnvironment env,
const char *  prefix,
const EmOptionsValues alternativeOptionsValues 
)

Definition at line 243 of file ExperimentModelOptions.C.

References m_env, m_prefix, QUESO::BaseEnvironment::optionsInputFileName(), queso_deprecated, queso_require_equal_to_msg, and QUESO::BaseEnvironment::subDisplayFile().

247  :
248  m_ov (alternativeOptionsValues),
249  m_prefix ((std::string)(prefix) + "em_"),
250  m_env (env),
251 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
252  m_optionsDesc (NULL),
253 #endif // DISABLE_BOOST_PROGRAM_OPTIONS
254  m_option_help (m_prefix + "help" ),
255  m_option_Gvalues(m_prefix + "Gvalues"),
256  m_option_a_v (m_prefix + "a_v" ),
257  m_option_b_v (m_prefix + "b_v" ),
258  m_option_a_rho_v(m_prefix + "a_rho_v"),
259  m_option_b_rho_v(m_prefix + "b_rho_v"),
260  m_option_a_y (m_prefix + "a_y" ),
261  m_option_b_y (m_prefix + "b_y" )
262 {
264 
265  queso_require_equal_to_msg(m_env.optionsInputFileName(), std::string(""), std::string("this constructor is incompatible with the existence of an options input file"));
266 
267  if (m_env.subDisplayFile() != NULL) {
268  *m_env.subDisplayFile() << "In ExperimentModelOptions::constructor(2)"
269  << ": after setting values of options with prefix '" << m_prefix
270  << "', state of object is:"
271  << "\n" << *this
272  << std::endl;
273  }
274 }
std::ofstream * subDisplayFile() const
Access function for m_subDisplayFile (displays file on stream).
Definition: Environment.C:320
std::string optionsInputFileName() const
Access to the attribute m_optionsInputFileName, which stores the name of the input file passed by the...
Definition: Environment.C:353
#define queso_require_equal_to_msg(expr1, expr2, msg)
Definition: asserts.h:73
#define queso_deprecated()
Definition: Defines.h:134
boost::program_options::options_description * m_optionsDesc
QUESO::ExperimentModelOptions::~ExperimentModelOptions ( )

Definition at line 276 of file ExperimentModelOptions.C.

References m_optionsDesc, and queso_deprecated.

277 {
279 
280 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
281  if (m_optionsDesc) delete m_optionsDesc;
282 #endif // DISABLE_BOOST_PROGRAM_OPTIONS
283 }
#define queso_deprecated()
Definition: Defines.h:134
boost::program_options::options_description * m_optionsDesc

Member Function Documentation

void QUESO::ExperimentModelOptions::defineMyOptions ( boost::program_options::options_description &  optionsDesc) const
private

Definition at line 311 of file ExperimentModelOptions.C.

References m_option_a_rho_v, m_option_a_v, m_option_a_y, m_option_b_rho_v, m_option_b_v, m_option_b_y, m_option_Gvalues, m_option_help, queso_deprecated, UQ_EXPERIMENT_MODEL_A_RHO_V_ODV, UQ_EXPERIMENT_MODEL_A_V_ODV, UQ_EXPERIMENT_MODEL_A_Y_ODV, UQ_EXPERIMENT_MODEL_B_RHO_V_ODV, UQ_EXPERIMENT_MODEL_B_V_ODV, UQ_EXPERIMENT_MODEL_B_Y_ODV, and UQ_EXPERIMENT_MODEL_G_VALUES_ODV.

Referenced by scanOptionsValues().

312 {
314 
315  optionsDesc.add_options()
316  (m_option_help.c_str(), "produce help message for experiment model options")
317  (m_option_Gvalues.c_str(), boost::program_options::value<std::string >()->default_value(UQ_EXPERIMENT_MODEL_G_VALUES_ODV), "G values" )
318  (m_option_a_v.c_str(), boost::program_options::value<double >()->default_value(UQ_EXPERIMENT_MODEL_A_V_ODV ), "a_v" )
319  (m_option_b_v.c_str(), boost::program_options::value<double >()->default_value(UQ_EXPERIMENT_MODEL_B_V_ODV ), "b_v" )
320  (m_option_a_rho_v.c_str(), boost::program_options::value<double >()->default_value(UQ_EXPERIMENT_MODEL_A_RHO_V_ODV ), "a_rho_v" )
321  (m_option_b_rho_v.c_str(), boost::program_options::value<double >()->default_value(UQ_EXPERIMENT_MODEL_B_RHO_V_ODV ), "b_rho_v" )
322  (m_option_a_y.c_str(), boost::program_options::value<double >()->default_value(UQ_EXPERIMENT_MODEL_A_Y_ODV ), "a_y" )
323  (m_option_b_y.c_str(), boost::program_options::value<double >()->default_value(UQ_EXPERIMENT_MODEL_B_Y_ODV ), "b_y" )
324  ;
325 
326  return;
327 }
#define UQ_EXPERIMENT_MODEL_A_Y_ODV
#define UQ_EXPERIMENT_MODEL_B_V_ODV
#define queso_deprecated()
Definition: Defines.h:134
#define UQ_EXPERIMENT_MODEL_G_VALUES_ODV
#define UQ_EXPERIMENT_MODEL_B_RHO_V_ODV
#define UQ_EXPERIMENT_MODEL_A_V_ODV
#define UQ_EXPERIMENT_MODEL_B_Y_ODV
#define UQ_EXPERIMENT_MODEL_A_RHO_V_ODV
void QUESO::ExperimentModelOptions::getMyOptionValues ( boost::program_options::options_description &  optionsDesc)
private

Definition at line 332 of file ExperimentModelOptions.C.

References QUESO::BaseEnvironment::allOptionsMap(), QUESO::EmOptionsValues::m_a_rho_v, QUESO::EmOptionsValues::m_a_v, QUESO::EmOptionsValues::m_a_y, QUESO::EmOptionsValues::m_b_rho_v, QUESO::EmOptionsValues::m_b_v, QUESO::EmOptionsValues::m_b_y, m_env, QUESO::EmOptionsValues::m_Gvalues, m_option_a_rho_v, m_option_a_v, m_option_a_y, m_option_b_rho_v, m_option_b_v, m_option_b_y, m_option_Gvalues, m_option_help, m_ov, QUESO::MiscReadDoublesFromString(), queso_deprecated, and QUESO::BaseEnvironment::subDisplayFile().

Referenced by scanOptionsValues().

333 {
335 
336  if (m_env.allOptionsMap().count(m_option_help)) {
337  if (m_env.subDisplayFile()) {
338  *m_env.subDisplayFile() << optionsDesc
339  << std::endl;
340  }
341  }
342 
343  std::vector<double> tmpValues(0,0.);
344  if (m_env.allOptionsMap().count(m_option_Gvalues)) {
345  std::string inputString = ((const boost::program_options::variable_value&) m_env.allOptionsMap()[m_option_Gvalues]).as<std::string>();
346  MiscReadDoublesFromString(inputString,tmpValues);
347  //if (m_env.subDisplayFile()) {
348  // *m_env.subDisplayFile() << "In ExperimentModelOptions::getMyOptionValues(): tmpValues =";
349  // for (unsigned int i = 0; i < tmpValues.size(); ++i) {
350  // *m_env.subDisplayFile() << " " << tmpValues[i];
351  // }
352  // *m_env.subDisplayFile() << std::endl;
353  //}
354  unsigned int tmpSize = tmpValues.size();
355  m_ov.m_Gvalues.clear();
356  m_ov.m_Gvalues.resize(tmpSize,0);
357  for (unsigned int i = 0; i < tmpSize; ++i) {
358  m_ov.m_Gvalues[i] = (unsigned int) tmpValues[i];
359  }
360  }
361 
362  if (m_env.allOptionsMap().count(m_option_a_v)) {
363  m_ov.m_a_v = ((const boost::program_options::variable_value&) m_env.allOptionsMap()[m_option_a_v]).as<double>();
364  }
365 
366  if (m_env.allOptionsMap().count(m_option_b_v)) {
367  m_ov.m_b_v = ((const boost::program_options::variable_value&) m_env.allOptionsMap()[m_option_b_v]).as<double>();
368  }
369 
370  if (m_env.allOptionsMap().count(m_option_a_rho_v)) {
371  m_ov.m_a_rho_v = ((const boost::program_options::variable_value&) m_env.allOptionsMap()[m_option_a_rho_v]).as<double>();
372  }
373 
374  if (m_env.allOptionsMap().count(m_option_b_rho_v)) {
375  m_ov.m_b_rho_v = ((const boost::program_options::variable_value&) m_env.allOptionsMap()[m_option_b_rho_v]).as<double>();
376  }
377 
378  if (m_env.allOptionsMap().count(m_option_a_y)) {
379  m_ov.m_a_y = ((const boost::program_options::variable_value&) m_env.allOptionsMap()[m_option_a_y]).as<double>();
380  }
381 
382  if (m_env.allOptionsMap().count(m_option_b_y)) {
383  m_ov.m_b_y = ((const boost::program_options::variable_value&) m_env.allOptionsMap()[m_option_b_y]).as<double>();
384  }
385 
386  return;
387 }
std::ofstream * subDisplayFile() const
Access function for m_subDisplayFile (displays file on stream).
Definition: Environment.C:320
void MiscReadDoublesFromString(const std::string &inputString, std::vector< double > &outputDoubles)
Definition: Miscellaneous.C:40
boost::program_options::variables_map & allOptionsMap() const
Definition: Environment.C:385
std::vector< unsigned int > m_Gvalues
#define queso_deprecated()
Definition: Defines.h:134
void QUESO::ExperimentModelOptions::print ( std::ostream &  os) const

Definition at line 391 of file ExperimentModelOptions.C.

References QUESO::EmOptionsValues::m_a_rho_v, QUESO::EmOptionsValues::m_a_v, QUESO::EmOptionsValues::m_a_y, QUESO::EmOptionsValues::m_b_rho_v, QUESO::EmOptionsValues::m_b_v, QUESO::EmOptionsValues::m_b_y, QUESO::EmOptionsValues::m_Gvalues, m_option_a_rho_v, m_option_a_v, m_option_a_y, m_option_b_rho_v, m_option_b_v, m_option_b_y, m_option_Gvalues, m_ov, and queso_deprecated.

Referenced by QUESO::operator<<().

392 {
394 
395  os << "\n" << m_option_Gvalues << " = ";
396  for (unsigned int i = 0; i < m_ov.m_Gvalues.size(); ++i) {
397  os << m_ov.m_Gvalues[i] << " ";
398  }
399  os << "\n" << m_option_a_v << " = " << m_ov.m_a_v
400  << "\n" << m_option_b_v << " = " << m_ov.m_b_v
401  << "\n" << m_option_a_rho_v << " = " << m_ov.m_a_rho_v
402  << "\n" << m_option_b_rho_v << " = " << m_ov.m_b_rho_v
403  << "\n" << m_option_a_y << " = " << m_ov.m_a_y
404  << "\n" << m_option_b_y << " = " << m_ov.m_b_y
405  << std::endl;
406 
407  return;
408 }
std::vector< unsigned int > m_Gvalues
#define queso_deprecated()
Definition: Defines.h:134
void QUESO::ExperimentModelOptions::scanOptionsValues ( )

Definition at line 286 of file ExperimentModelOptions.C.

References defineMyOptions(), getMyOptionValues(), m_env, m_optionsDesc, m_prefix, queso_deprecated, queso_require_msg, QUESO::BaseEnvironment::scanInputFileForMyOptions(), and QUESO::BaseEnvironment::subDisplayFile().

287 {
289 
290 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
291  queso_require_msg(m_optionsDesc, "m_optionsDesc variable is NULL");
292 
296 #endif // DISABLE_BOOST_PROGRAM_OPTIONS
297 
298  if (m_env.subDisplayFile() != NULL) {
299  *m_env.subDisplayFile() << "In ExperimentModelOptions::scanOptionsValues()"
300  << ": after reading values of options with prefix '" << m_prefix
301  << "', state of object is:"
302  << "\n" << *this
303  << std::endl;
304  }
305 
306  return;
307 }
std::ofstream * subDisplayFile() const
Access function for m_subDisplayFile (displays file on stream).
Definition: Environment.C:320
#define queso_deprecated()
Definition: Defines.h:134
void scanInputFileForMyOptions(const boost::program_options::options_description &optionsDesc) const
This method scans the input file provided by the user to QUESO.
Definition: Environment.C:396
void getMyOptionValues(boost::program_options::options_description &optionsDesc)
#define queso_require_msg(asserted, msg)
Definition: asserts.h:69
void defineMyOptions(boost::program_options::options_description &optionsDesc) const
boost::program_options::options_description * m_optionsDesc

Member Data Documentation

const BaseEnvironment& QUESO::ExperimentModelOptions::m_env
private
std::string QUESO::ExperimentModelOptions::m_option_a_rho_v
private

Definition at line 117 of file ExperimentModelOptions.h.

Referenced by defineMyOptions(), getMyOptionValues(), and print().

std::string QUESO::ExperimentModelOptions::m_option_a_v
private

Definition at line 115 of file ExperimentModelOptions.h.

Referenced by defineMyOptions(), getMyOptionValues(), and print().

std::string QUESO::ExperimentModelOptions::m_option_a_y
private

Definition at line 119 of file ExperimentModelOptions.h.

Referenced by defineMyOptions(), getMyOptionValues(), and print().

std::string QUESO::ExperimentModelOptions::m_option_b_rho_v
private

Definition at line 118 of file ExperimentModelOptions.h.

Referenced by defineMyOptions(), getMyOptionValues(), and print().

std::string QUESO::ExperimentModelOptions::m_option_b_v
private

Definition at line 116 of file ExperimentModelOptions.h.

Referenced by defineMyOptions(), getMyOptionValues(), and print().

std::string QUESO::ExperimentModelOptions::m_option_b_y
private

Definition at line 120 of file ExperimentModelOptions.h.

Referenced by defineMyOptions(), getMyOptionValues(), and print().

std::string QUESO::ExperimentModelOptions::m_option_Gvalues
private

Definition at line 114 of file ExperimentModelOptions.h.

Referenced by defineMyOptions(), getMyOptionValues(), and print().

std::string QUESO::ExperimentModelOptions::m_option_help
private

Definition at line 113 of file ExperimentModelOptions.h.

Referenced by defineMyOptions(), and getMyOptionValues().

boost::program_options::options_description* QUESO::ExperimentModelOptions::m_optionsDesc
private

Definition at line 111 of file ExperimentModelOptions.h.

Referenced by scanOptionsValues(), and ~ExperimentModelOptions().

EmOptionsValues QUESO::ExperimentModelOptions::m_ov

Definition at line 99 of file ExperimentModelOptions.h.

Referenced by getMyOptionValues(), and print().

std::string QUESO::ExperimentModelOptions::m_prefix

Definition at line 100 of file ExperimentModelOptions.h.

Referenced by ExperimentModelOptions(), and scanOptionsValues().


The documentation for this class was generated from the following files:

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