35 std::vector<std::vector<std::vector<T>> *>
46 params.
addParam<std::vector<ReporterValueName>>(prefix +
"_names",
47 "Names for each " + prefix +
" value.");
48 params.
addParam<std::vector<T>>(prefix +
"_values",
"Values for " + prefix +
"s.");
51 params.
addParam<std::vector<ReporterValueName>>(
52 prefix +
"_vector_names",
"Names for each vector of " + prefix +
"s value.");
53 params.
addParam<std::vector<std::vector<T>>>(prefix +
"_vector_values",
54 "Values for vectors of " + prefix +
"s.");
56 params.
addParam<std::vector<ReporterValueName>>(prefix +
"_vector_vector_names",
57 "Names for each vector of vectors of " +
59 params.
addParam<std::vector<std::vector<std::vector<T>>>>(
60 prefix +
"_vector_vector_values",
"Values for vectors of vectors of " + prefix +
"s.");
70 std::string names_param(prefix +
"_names");
71 std::string values_param(prefix +
"_values");
72 std::vector<T *> data;
75 paramError(names_param,
"Must specify values using ", values_param);
77 paramError(values_param,
"Use ", names_param,
" to specify reporter names.");
81 auto & names = getParam<std::vector<ReporterValueName>>(names_param);
82 auto & values = this->getParam<std::vector<T>>(values_param);
83 if (names.size() != values.size())
85 "Number of names specified in ",
87 " must match number of values specified in ",
90 for (
unsigned int i = 0; i < names.size(); ++i)
91 data.push_back(&this->declareValueByName<T>(names[i], values[i]));
97 std::vector<std::vector<T> *>
100 return this->declareConstantReporterValues<std::vector<T>>(prefix +
"_vector");
103 template <
typename T>
104 std::vector<std::vector<std::vector<T>> *>
107 return this->declareConstantReporterValues<std::vector<std::vector<T>>>(prefix +
virtual void execute() override
Execute method.
Reporter object that has a single execution of the "execute" method for for each execute flag...
ConstantReporter(const InputParameters ¶meters)
std::vector< std::vector< std::vector< T > > * > declareConstantVectorVectorReporterValues(const std::string &prefix)
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
static InputParameters validParams()
void paramError(const std::string ¶m, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
static InputParameters addReporterTypeParams(const std::string &prefix, bool add_vector=true)
This will add another type of reporter to the params.
virtual void finalize() override
Finalize.
const InputParameters & parameters() const
Get the parameters of the object.
std::vector< T * > declareConstantReporterValues(const std::string &prefix)
std::vector< std::vector< T > * > declareConstantVectorReporterValues(const std::string &prefix)
virtual void initialize() override
Called before execute() is ever called so that data can be cleared.