4 if (!ObsParameterProxy::ALLOWED.contains(type)) {
13 return pp_with_type.
exists(block,
id) ? pp_with_type(block,
id, d_type) :
scalar_t();
15 scalar_t value = pp_with_type(block,
id, d_type);
20 if (!pid.
type.has_value()) {
21 LOG_WARN(
"LogicError",
"Use of untyped ParamId in ParameterProvider.");
24 if (!ObsParameterProxy::ALLOWED.contains(pid.
type.value())) {
32 return pp(pid, d_type);
#define LOG_ERROR(type,...)
Macro for logging error messages and terminating the application.
#define LOG_WARN(...)
Macro for logging warning messages.
Read-only proxy to access parameters needed by observable computations.
static std::string str(const IdOf< ParamTypeTag > &id)
Returns the string representation associated with an identifier.
scalar_t operator()(const ParamId &pid, DataType d_type=DataType::VALUE) override
Access a parameter by fully-typed ParamId.
std::shared_ptr< Parameter > get_parameter(const ParamId &pid) const override
Returns the underlying Parameter object (shared_ptr) for a given id.
ObsParameterProxy(ParameterType type=ParameterType::SM)
Construct a proxy limited to a given parameter type.
Provides access to parameter values, errors, and existence checks.
std::shared_ptr< Parameter > get_parameter(const ParamId &pid) const
Retrieves the actual Parameter object corresponding to the given ParamId.
ParameterType get_type() const
Retrieves the renormalization scale associated with a given block.
bool exists(const ParamId &pid) const
Checks if a parameter identified by ParamId exists.
Represents an identifier of a LHA element, possibly containing several sub-ids.
Composite identifier for a single parameter.
std::optional< ParameterType > type
Optional high-level parameter category.