1 #ifndef MHO_ParameterConfigurator_HH__
2 #define MHO_ParameterConfigurator_HH__
131 template<
typename XValueType >
void SetVectorParameter(std::string path,
const std::vector< XValueType >& values);
143 template<
typename XValueType >
void GetVectorParameter(std::string path, std::vector< XValueType >& values);
160 std::vector< std::string >
LogicalIntersection(std::vector< std::string >& values1, std::vector< std::string>& values2)
const;
182 msg_warn(
"initialization",
"could not set parameter: " << path << eom);
198 msg_info(
"initialization",
"could not get parameter, using default value for: " << path << eom);
209 template<
typename XValueType >
215 msg_warn(
"initialization",
"could not set parameter vector: " << path << eom);
226 template<
typename XValueType >
232 msg_info(
"initialization",
"could not get parameter vector, using default value for: " << path << eom);
#define msg_warn(xKEY, xCONTENT)
Definition: MHO_Message.hh:254
#define msg_info(xKEY, xCONTENT)
Definition: MHO_Message.hh:274
some control statements simply trigger a parameter value to be set to a certain value,...
Definition: MHO_ParameterConfigurator.hh:24
void SetVectorParameter(std::string path, const std::vector< XValueType > &values)
Setter for vector parameter.
Definition: MHO_ParameterConfigurator.hh:210
ParamType param_t
Definition: MHO_ParameterConfigurator.hh:85
MHO_ParameterConfigurator(MHO_ParameterStore *pstore, mho_json control_format)
Definition: MHO_ParameterConfigurator.hh:27
void SetScalarParameter(std::string path, const XValueType &value)
Setter for scalar parameter.
Definition: MHO_ParameterConfigurator.hh:177
mho_json fFormat
Definition: MHO_ParameterConfigurator.hh:163
ParamValueType
Definition: MHO_ParameterConfigurator.hh:72
@ logical_intersection_list_string_type
void GetVectorParameter(std::string path, std::vector< XValueType > &values)
Getter for vector parameter.
Definition: MHO_ParameterConfigurator.hh:227
void GetScalarParameter(std::string path, XValueType &value)
Getter for scalar parameter.
Definition: MHO_ParameterConfigurator.hh:193
ParamType
Definition: MHO_ParameterConfigurator.hh:61
virtual ~MHO_ParameterConfigurator()
Definition: MHO_ParameterConfigurator.hh:32
mho_json fConditions
Definition: MHO_ParameterConfigurator.hh:166
std::vector< std::string > LogicalIntersection(std::vector< std::string > &values1, std::vector< std::string > &values2) const
Calculates logical intersection of two sorted string vectors.
Definition: MHO_ParameterConfigurator.cc:249
ParamValueType DetermineParamValueType(const std::string &par_value_type) const
Determines the parameter value type from a given string representation.
Definition: MHO_ParameterConfigurator.cc:169
virtual bool Configure()
Configures parameter value by evaluating conditions and attributes.
Definition: MHO_ParameterConfigurator.cc:9
void SetCompoundParameter(std::string path, const mho_json &values)
Setter for compound parameter.
Definition: MHO_ParameterConfigurator.cc:239
mho_json fAttributes
Definition: MHO_ParameterConfigurator.hh:167
virtual void SetAttributes(const mho_json &attr)
Setter for (current) data attributes.
Definition: MHO_ParameterConfigurator.hh:48
ParamValueType paramv_t
Definition: MHO_ParameterConfigurator.hh:86
virtual void SetConditions(const mho_json &cond)
set conditions for this parameter (parsed from the control file)
Definition: MHO_ParameterConfigurator.hh:40
ParamType DetermineParamType(const std::string &par_type) const
Determines parameter type from string input.
Definition: MHO_ParameterConfigurator.cc:210
MHO_ParameterStore * fParameterStore
Definition: MHO_ParameterConfigurator.hh:162
Class MHO_ParameterStore.
Definition: MHO_ParameterStore.hh:52
bool Set(const std::string &value_path, const XValueType &value)
Setter for value at specified path in the parameter store.
Definition: MHO_ParameterStore.hh:193
bool Get(const std::string &value_path, XValueType &value) const
Retrieves a value by path and returns it as XValueType, using default constructor if not found.
Definition: MHO_ParameterStore.hh:238
Definition: MHO_ChannelLabeler.hh:17
par_type
Definition: MHO_AFileInfoExtractor.hh:29