#include #include #include "trick/MonteVarFixed.hh" Trick::MonteVarFixed::MonteVarFixed(std::string in_name, double in_value, std::string in_unit) { this->name = in_name; set_value(in_value); this->unit = in_unit; } // Composite the various properties of this MonteVarFixed. std::string Trick::MonteVarFixed::describe_variable() { std::stringstream ss; ss << "#NAME:\t\t" << this->name << "\n" << "#TYPE:\t\tFIXED\n" << "#UNIT:\t\t" << this->unit << "\n" << "#VALUE:\t\t" << this->value << "\n"; return ss.str(); } void Trick::MonteVarFixed::set_value(double in_value) { std::ostringstream string_stream; string_stream << std::setprecision(15) << in_value ; this->value = string_stream.str(); } std::string Trick::MonteVarFixed::get_next_value() { std::ostringstream string_stream; if (unit.empty()) { string_stream << name << " = " << value; } else { string_stream << name << " = trick.attach_units(\"" << unit << "\", " << value << ")"; } return string_stream.str(); }