queso-0.56.1
Public Attributes | Private Member Functions | Private Attributes | Friends | List of all members
QUESO::MLSamplingOptions Class Reference

This class provides options for the Multilevel sequence generator if no input file is available. More...

#include <MLSamplingOptions.h>

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

Public Member Functions

Constructor/Destructor methods
 MLSamplingOptions (const BaseEnvironment &env, const char *prefix)
 Default constructor. More...
 
virtual ~MLSamplingOptions ()
 Destructor. More...
 
I/O methods
void print (std::ostream &os) const
 It prints the option values. More...
 

Public Attributes

std::string m_prefix
 Class prefix. (ml) More...
 
std::string m_help
 If non-empty string, options and values are printed to the output file. More...
 
std::string m_restartInputFileName
 Name of restart input file. More...
 
std::string m_restartInputFileType
 Type of restart input file. More...
 
unsigned int m_restartChainSize
 Size of restart chain. More...
 
std::string m_dataOutputFileName
 Name of generic output file. More...
 
bool m_dataOutputAllowAll
 subEnvs that will write to generic output file More...
 
std::set< unsigned int > m_dataOutputAllowedSet
 

Private Member Functions

void checkOptions (const BaseEnvironment *env)
 

Private Attributes

const BaseEnvironmentm_env
 
BoostInputOptionsParserm_parser
 
std::string m_option_help
 
std::string m_option_restartInputFileName
 
std::string m_option_restartInputFileType
 
std::string m_option_restartChainSize
 
std::string m_option_dataOutputFileName
 
std::string m_option_dataOutputAllowAll
 
std::string m_option_dataOutputAllowedSet
 

Friends

std::ostream & operator<< (std::ostream &os, const MLSamplingOptions &obj)
 

Detailed Description

This class provides options for the Multilevel sequence generator if no input file is available.

Multilevel sequence generator expects options for its methods. This class provides default values for such options if no input file is available.

Definition at line 72 of file MLSamplingOptions.h.

Constructor & Destructor Documentation

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

Default constructor.

Assigns the default suite of options to the Multilevel sequence generator.

Definition at line 30 of file MLSamplingOptions.C.

References checkOptions(), QUESO::BoostInputOptionsParser::getOption(), QUESO::BaseEnvironment::input(), m_dataOutputAllowedSet, m_dataOutputFileName, m_env, m_help, m_option_dataOutputAllowedSet, m_option_dataOutputFileName, m_option_help, m_option_restartChainSize, m_option_restartInputFileName, m_option_restartInputFileType, m_parser, m_restartChainSize, m_restartInputFileName, m_restartInputFileType, QUESO::BoostInputOptionsParser::registerOption(), QUESO::BoostInputOptionsParser::scanInputFile(), UQ_ML_SAMPLING_DATA_OUTPUT_ALLOWED_SET_ODV, UQ_ML_SAMPLING_DATA_OUTPUT_FILE_NAME_ODV, UQ_ML_SAMPLING_RESTART_CHAIN_SIZE_ODV, UQ_ML_SAMPLING_RESTART_INPUT_FILE_NAME_ODV, UQ_ML_SAMPLING_RESTART_INPUT_FILE_TYPE_ODV, and GetPot::vector_variable_size().

31  :
32  m_prefix ((std::string)(prefix) + "ml_" ),
33  m_help (UQ_ML_SAMPLING_HELP),
34 #ifdef ML_CODE_HAS_NEW_RESTART_CAPABILITY
35  m_restartOutput_levelPeriod (UQ_ML_SAMPLING_RESTART_OUTPUT_LEVEL_PERIOD_ODV ),
36  m_restartOutput_baseNameForFiles (UQ_ML_SAMPLING_RESTART_OUTPUT_BASE_NAME_FOR_FILES_ODV),
37  m_restartOutput_fileType (UQ_ML_SAMPLING_RESTART_OUTPUT_FILE_TYPE_ODV ),
38  m_restartInput_baseNameForFiles (UQ_ML_SAMPLING_RESTART_INPUT_BASE_NAME_FOR_FILES_ODV ),
39  m_restartInput_fileType (UQ_ML_SAMPLING_RESTART_INPUT_FILE_TYPE_ODV ),
40 #else
44 #endif
46  //m_dataOutputAllowedSet (),
47  m_env (env),
48 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
49  m_parser(new BoostInputOptionsParser(env.optionsInputFileName())),
50 #endif // DISABLE_BOOST_PROGRAM_OPTIONS
51  m_option_help (m_prefix + "help" ),
52 #ifdef ML_CODE_HAS_NEW_RESTART_CAPABILITY
53  m_option_restartOutput_levelPeriod (m_prefix + "restartOutput_levelPeriod" ),
54  m_option_restartOutput_baseNameForFiles(m_prefix + "restartOutput_baseNameForFiles"),
55  m_option_restartOutput_fileType (m_prefix + "restartOutput_fileType" ),
56  m_option_restartInput_baseNameForFiles (m_prefix + "restartInput_baseNameForFiles" ),
57  m_option_restartInput_fileType (m_prefix + "restartInput_fileType" ),
58 #else
59  m_option_restartInputFileName (m_prefix + "restartInputFileName"),
60  m_option_restartInputFileType (m_prefix + "restartInputFileType"),
61  m_option_restartChainSize (m_prefix + "restartChainSize" ),
62 #endif
63  m_option_dataOutputFileName (m_prefix + "dataOutputFileName" ),
64  m_option_dataOutputAllowedSet (m_prefix + "dataOutputAllowedSet")
65 {
66 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
67  m_parser->registerOption<std::string >(m_option_help, UQ_ML_SAMPLING_HELP, "produce help msg for ML sampling options" );
68 #ifdef ML_CODE_HAS_NEW_RESTART_CAPABILITY
69  m_parser->registerOption<unsigned int>(m_option_restartOutput_levelPeriod, UQ_ML_SAMPLING_RESTART_OUTPUT_LEVEL_PERIOD_ODV, "restartOutput_levelPeriod" );
70  m_parser->registerOption<std::string >(m_option_restartOutput_baseNameForFiles, UQ_ML_SAMPLING_RESTART_OUTPUT_BASE_NAME_FOR_FILES_ODV, "restartOutput_baseNameForFiles" );
71  m_parser->registerOption<std::string >(m_option_restartOutput_fileType, UQ_ML_SAMPLING_RESTART_OUTPUT_FILE_TYPE_ODV, "restartOutput_fileType" );
72  m_parser->registerOption<std::string >(m_option_restartInput_baseNameForFiles, UQ_ML_SAMPLING_RESTART_INPUT_BASE_NAME_FOR_FILES_ODV, "restartInput_baseNameForFiles" );
73  m_parser->registerOption<std::string >(m_option_restartInput_fileType, UQ_ML_SAMPLING_RESTART_INPUT_FILE_TYPE_ODV, "restartInput_fileType" );
74 #else
78 #endif
79  m_parser->registerOption<std::string >(m_option_dataOutputFileName, UQ_ML_SAMPLING_DATA_OUTPUT_FILE_NAME_ODV , "name of generic output file" );
80  m_parser->registerOption<std::string >(m_option_dataOutputAllowedSet, UQ_ML_SAMPLING_DATA_OUTPUT_ALLOWED_SET_ODV, "subEnvs that will write to generic output file");
81 
83 
84  m_parser->getOption<std::string >(m_option_help, m_help);
85 #ifdef ML_CODE_HAS_NEW_RESTART_CAPABILITY
86  m_parser->getOption<unsigned int>(m_option_restartOutput_levelPeriod, m_restartOutput_levelPeriod);
87  m_parser->getOption<std::string >(m_option_restartOutput_baseNameForFiles, m_restartOutput_baseNameForFiles);
88  m_parser->getOption<std::string >(m_option_restartOutput_fileType, m_restartOutput_fileType);
89  m_parser->getOption<std::string >(m_option_restartInput_baseNameForFiles, m_restartInput_baseNameForFiles);
90  m_parser->getOption<std::string >(m_option_restartInput_fileType, m_restartInput_fileType);
91 #else
95 #endif
98 #else
99  m_help = m_env.input()(m_option_help, UQ_ML_SAMPLING_HELP);
100 #ifdef ML_CODE_HAS_NEW_RESTART_CAPABILITY
101  m_restartOutput_levelPeriod = m_env.input()(m_option_restartOutput_levelPeriod, UQ_ML_SAMPLING_RESTART_OUTPUT_LEVEL_PERIOD_ODV);
102  m_restartOutput_baseNameForFiles = m_env.input()(m_option_restartOutput_baseNameForFiles, UQ_ML_SAMPLING_RESTART_OUTPUT_BASE_NAME_FOR_FILES_ODV);
103  m_restartOutput_fileType = m_env.input()(m_option_restartOutput_fileType, UQ_ML_SAMPLING_RESTART_OUTPUT_FILE_TYPE_ODV);
104  m_restartInput_baseNameForFiles = m_env.input()(m_option_restartInput_baseNameForFiles, UQ_ML_SAMPLING_RESTART_INPUT_BASE_NAME_FOR_FILES_ODV);
105  m_restartInput_fileType = m_env.input()(m_option_restartInput_fileType, UQ_ML_SAMPLING_RESTART_INPUT_FILE_TYPE_ODV);
106 #else
110 #endif
112 
113  // UQ_ML_SAMPLING_DATA_OUTPUT_ALLOWED_SET_ODV is the empty set (string) by
114  // default
115  unsigned int size = m_env.input().vector_variable_size(m_option_dataOutputAllowedSet);
116  for (unsigned int i = 0; i < size; i++) {
117  // We default to empty set, so the default values are actually never used
118  // here
119  unsigned int allowed = m_env.input()(m_option_dataOutputAllowedSet, i, i);
120  m_dataOutputAllowedSet.insert(allowed);
121  }
122 
123 #endif // DISABLE_BOOST_PROGRAM_OPTIONS
124 
125  checkOptions(&env);
126 }
BoostInputOptionsParser * m_parser
const GetPot & input() const
The GetPot input file parser.
Definition: Environment.C:1148
#define UQ_ML_SAMPLING_DATA_OUTPUT_ALLOWED_SET_ODV
std::string m_restartInputFileName
Name of restart input file.
#define UQ_ML_SAMPLING_DATA_OUTPUT_FILE_NAME_ODV
void checkOptions(const BaseEnvironment *env)
std::string m_dataOutputFileName
Name of generic output file.
unsigned vector_variable_size(const char *VarName) const
Definition: getpot.h:2532
void getOption(std::string &name, T &value)
Get option name from the parser and set value to the parsed value.
#define UQ_ML_SAMPLING_RESTART_INPUT_FILE_NAME_ODV
#define UQ_ML_SAMPLING_RESTART_CHAIN_SIZE_ODV
const BaseEnvironment & m_env
unsigned int m_restartChainSize
Size of restart chain.
void scanInputFile()
This is the method that parses the input file.
std::string m_restartInputFileType
Type of restart input file.
std::string m_option_dataOutputFileName
std::string m_option_restartInputFileType
void registerOption(std::string name, T defaultValue, std::string description)
Call this to register an option with the parser.
std::set< unsigned int > m_dataOutputAllowedSet
std::string m_option_restartInputFileName
std::string m_option_dataOutputAllowedSet
std::string m_prefix
Class prefix. (ml)
std::string m_help
If non-empty string, options and values are printed to the output file.
#define UQ_ML_SAMPLING_RESTART_INPUT_FILE_TYPE_ODV
QUESO::MLSamplingOptions::~MLSamplingOptions ( )
virtual

Destructor.

Definition at line 128 of file MLSamplingOptions.C.

129 {
130 }

Member Function Documentation

void QUESO::MLSamplingOptions::checkOptions ( const BaseEnvironment env)
private

Definition at line 133 of file MLSamplingOptions.C.

References m_help, queso_require_not_equal_to_msg, and QUESO::BaseEnvironment::subDisplayFile().

Referenced by MLSamplingOptions().

134 {
135  // DM: I'm printing here because I'm not sure where this object is created
136  // in the statistical inverse problem
137  if (m_help != "") {
138  if (env->subDisplayFile()) {
139  *(env->subDisplayFile()) << (*this) << std::endl;
140  }
141  }
142 
143 #ifdef ML_CODE_HAS_NEW_RESTART_CAPABILITY
144  if ((m_restartOutput_levelPeriod > 0)) queso_require_not_equal_to_msg(m_restartOutput_baseNameForFiles, std::string("."), std::string("Option 'restartOutput_levelPeriod' is > 0, but 'restartOutput_baseNameForFiles' is not specified..."));
145 #endif
146 }
#define queso_require_not_equal_to_msg(expr1, expr2, msg)
Definition: asserts.h:74
std::string m_help
If non-empty string, options and values are printed to the output file.
void QUESO::MLSamplingOptions::print ( std::ostream &  os) const

It prints the option values.

Definition at line 149 of file MLSamplingOptions.C.

References m_dataOutputAllowedSet, m_dataOutputFileName, m_option_dataOutputAllowedSet, m_option_dataOutputFileName, m_option_restartChainSize, m_option_restartInputFileName, m_option_restartInputFileType, m_restartChainSize, m_restartInputFileName, and m_restartInputFileType.

Referenced by QUESO::operator<<().

150 {
151 #ifdef ML_CODE_HAS_NEW_RESTART_CAPABILITY
152  os << m_option_restartOutput_levelPeriod << " = " << m_restartOutput_levelPeriod
153  << "\n" << m_option_restartOutput_baseNameForFiles << " = " << m_restartOutput_baseNameForFiles
154  << "\n" << m_option_restartOutput_fileType << " = " << m_restartOutput_fileType
155  << "\n" << m_option_restartInput_baseNameForFiles << " = " << m_restartInput_baseNameForFiles
156  << "\n" << m_option_restartInput_fileType << " = " << m_restartInput_fileType
157 #else
160  << "\n" << m_option_restartChainSize << " = " << m_restartChainSize
161 #endif
163  << "\n" << m_option_dataOutputAllowedSet << " = ";
164  for (std::set<unsigned int>::iterator setIt = m_dataOutputAllowedSet.begin(); setIt != m_dataOutputAllowedSet.end(); ++setIt) {
165  os << *setIt << " ";
166  }
167  os << "\n";
168 
169  return;
170 }
std::string m_restartInputFileName
Name of restart input file.
std::string m_dataOutputFileName
Name of generic output file.
unsigned int m_restartChainSize
Size of restart chain.
std::string m_restartInputFileType
Type of restart input file.
std::string m_option_dataOutputFileName
std::string m_option_restartInputFileType
std::set< unsigned int > m_dataOutputAllowedSet
std::string m_option_restartInputFileName
std::string m_option_dataOutputAllowedSet

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const MLSamplingOptions obj 
)
friend

Definition at line 172 of file MLSamplingOptions.C.

173 {
174 #ifndef DISABLE_BOOST_PROGRAM_OPTIONS
175  os << (*(obj.m_parser)) << std::endl;
176 #endif // DISABLE_BOOST_PROGRAM_OPTIONS
177 
178  obj.print(os);
179  return os;
180 }

Member Data Documentation

bool QUESO::MLSamplingOptions::m_dataOutputAllowAll

subEnvs that will write to generic output file

Definition at line 126 of file MLSamplingOptions.h.

std::set<unsigned int> QUESO::MLSamplingOptions::m_dataOutputAllowedSet

Definition at line 127 of file MLSamplingOptions.h.

Referenced by MLSamplingOptions(), and print().

std::string QUESO::MLSamplingOptions::m_dataOutputFileName

Name of generic output file.

Definition at line 123 of file MLSamplingOptions.h.

Referenced by MLSamplingOptions(), and print().

const BaseEnvironment& QUESO::MLSamplingOptions::m_env
private

Definition at line 130 of file MLSamplingOptions.h.

Referenced by MLSamplingOptions().

std::string QUESO::MLSamplingOptions::m_help

If non-empty string, options and values are printed to the output file.

Definition at line 95 of file MLSamplingOptions.h.

Referenced by checkOptions(), and MLSamplingOptions().

std::string QUESO::MLSamplingOptions::m_option_dataOutputAllowAll
private

Definition at line 149 of file MLSamplingOptions.h.

std::string QUESO::MLSamplingOptions::m_option_dataOutputAllowedSet
private

Definition at line 150 of file MLSamplingOptions.h.

Referenced by MLSamplingOptions(), and print().

std::string QUESO::MLSamplingOptions::m_option_dataOutputFileName
private

Definition at line 148 of file MLSamplingOptions.h.

Referenced by MLSamplingOptions(), and print().

std::string QUESO::MLSamplingOptions::m_option_help
private

Definition at line 136 of file MLSamplingOptions.h.

Referenced by MLSamplingOptions().

std::string QUESO::MLSamplingOptions::m_option_restartChainSize
private

Definition at line 146 of file MLSamplingOptions.h.

Referenced by MLSamplingOptions(), and print().

std::string QUESO::MLSamplingOptions::m_option_restartInputFileName
private

Definition at line 144 of file MLSamplingOptions.h.

Referenced by MLSamplingOptions(), and print().

std::string QUESO::MLSamplingOptions::m_option_restartInputFileType
private

Definition at line 145 of file MLSamplingOptions.h.

Referenced by MLSamplingOptions(), and print().

BoostInputOptionsParser* QUESO::MLSamplingOptions::m_parser
private

Definition at line 133 of file MLSamplingOptions.h.

Referenced by MLSamplingOptions(), and QUESO::operator<<().

std::string QUESO::MLSamplingOptions::m_prefix

Class prefix. (ml)

Definition at line 92 of file MLSamplingOptions.h.

unsigned int QUESO::MLSamplingOptions::m_restartChainSize

Size of restart chain.

Definition at line 120 of file MLSamplingOptions.h.

Referenced by MLSamplingOptions(), and print().

std::string QUESO::MLSamplingOptions::m_restartInputFileName

Name of restart input file.

Definition at line 114 of file MLSamplingOptions.h.

Referenced by MLSamplingOptions(), and print().

std::string QUESO::MLSamplingOptions::m_restartInputFileType

Type of restart input file.

Definition at line 117 of file MLSamplingOptions.h.

Referenced by MLSamplingOptions(), and print().


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

Generated on Thu Dec 15 2016 13:23:15 for queso-0.56.1 by  doxygen 1.8.5