5 std::vector<std::shared_ptr<BlockAccessor>> input;
6 for (
auto scope : scopes) {
9 this->po = std::make_shared<ParamOptimizer>(input);
14 po->set_value(block,
id, v);
17 po->set_param(block,
id, p);
20 po->remove(block,
id);
Adapter between IParamOptimizer and ParamOptimizer.
Model-dependent parameter repository and initialization strategies.
Block identifier with alias support.
void set_value(const BlockName &block, const LhaID &id, scalar_t v) override
Stage a change of central value for a parameter.
void set_param(const BlockName &block, const LhaID &id, std::shared_ptr< Parameter > p) override
Stage a full replacement of a parameter object.
void commit(bool coalesce=true) override
Commit all staged operations.
void remove(const BlockName &block, const LhaID &id) override
Stage the removal of a parameter.
ParamOptimizerAdapter(std::vector< ParameterType > scopes)
Constructs the adapter from a list of parameter type scopes.
void clear() override
Clears all currently staged operations without applying them.
static std::shared_ptr< Parameters > GetInstance(ParameterType id=ParameterType::SM)
Returns the singleton-like repository for a given parameter type.
Represents an identifier of a LHA element, possibly containing several sub-ids.