1 #ifndef MHO_OperatorBuilder_HH__
2 #define MHO_OperatorBuilder_HH__
125 TODO_FIXME_MSG(
"TODO FIXME -- improve checks on operator attributes in IsConfigurationOk)")
128 if(
fFormat[
"statement_type"] ==
"operator")
130 if(
fFormat.contains(
"type") &&
fFormat[
"type"].get< std::string >() ==
"compound")
133 for(
auto it =
fFormat[
"fields"].begin(); it !=
fFormat[
"fields"].end(); it++)
137 msg_error(
"initialization",
"missing attribute called " << *it <<
" in parameters of operator: "
138 <<
fFormat[
"name"].get< std::string >()
139 <<
", will not build " << eom);
#define msg_error(xKEY, xCONTENT)
Definition: MHO_Message.hh:244
#define TODO_FIXME_MSG(x)
Definition: MHO_Message.hh:35
Class MHO_ContainerStore.
Definition: MHO_ContainerStore.hh:32
Class MHO_FringeData.
Definition: MHO_FringeData.hh:30
Abtract base class for a builder object (creates an operator for later use)
Definition: MHO_OperatorBuilder.hh:27
mho_json fConditions
Definition: MHO_OperatorBuilder.hh:161
virtual void SetParameterStore(MHO_ParameterStore *pstore)
Setter for parameter store.
Definition: MHO_OperatorBuilder.hh:70
virtual ~MHO_OperatorBuilder()
Definition: MHO_OperatorBuilder.hh:46
virtual void SetConditions(const mho_json &cond)
Setter for applicability conditions.
Definition: MHO_OperatorBuilder.hh:95
virtual void SetFormat(const mho_json &format)
Setter for format.
Definition: MHO_OperatorBuilder.hh:87
virtual void SetAttributes(const mho_json &attr)
Setter for attributes.
Definition: MHO_OperatorBuilder.hh:103
MHO_ParameterStore * fParameterStore
Definition: MHO_OperatorBuilder.hh:157
virtual void SetFringeData(MHO_FringeData *fdata)
Setter for fringe data.
Definition: MHO_OperatorBuilder.hh:62
MHO_OperatorToolbox * fOperatorToolbox
Definition: MHO_OperatorBuilder.hh:150
MHO_ContainerStore * fContainerStore
Definition: MHO_OperatorBuilder.hh:156
MHO_OperatorBuilder(MHO_OperatorToolbox *toolbox, MHO_FringeData *fdata)
Definition: MHO_OperatorBuilder.hh:31
virtual void SetContainerStore(MHO_ContainerStore *cstore)
Setter for container store.
Definition: MHO_OperatorBuilder.hh:78
virtual void SetToolbox(MHO_OperatorToolbox *toolbox)
Setter for toolbox.
Definition: MHO_OperatorBuilder.hh:54
virtual bool IsConfigurationOk()
Function IsConfigurationOk provided for derived class to validate fAttributes against fFormat and/or ...
Definition: MHO_OperatorBuilder.hh:123
mho_json fFormat
Definition: MHO_OperatorBuilder.hh:160
MHO_OperatorBuilder(MHO_OperatorToolbox *toolbox, MHO_ContainerStore *cstore=nullptr, MHO_ParameterStore *pstore=nullptr)
Definition: MHO_OperatorBuilder.hh:38
MHO_FringeData * fFringeData
Definition: MHO_OperatorBuilder.hh:153
virtual bool Build()=0
Builds the object and passes it to toolbox if successful, otherwise returns false.
mho_json fAttributes
Definition: MHO_OperatorBuilder.hh:162
Class MHO_ParameterStore.
Definition: MHO_ParameterStore.hh:52
Definition: MHO_ChannelLabeler.hh:17