1#ifndef GROUP_DEFINITION_H
2#define GROUP_DEFINITION_H
4#include <unordered_map>
162 std::unordered_map<WilsonBasis, std::map<QCDOrder, CoefficientGroupSources>>
sources;
193 std::unordered_map<Model, std::vector<SetupHook>>
setup;
constexpr const char * MATCHING_BLOCK_PLACEHOLDER
Placeholder string used in GroupDefinition sources to refer to the matching block.
Port used by the Wilson layer to access MARTY-generated output paths.
Domain container grouping related Wilson coefficients with matching and running access.
Polymorphic container of WilsonCoefficient objects representing a coefficient group.
Returns an uppercase copy of the input string.
Registry/factory of built-in and custom GroupDefinition objects.
const GroupDefinition & CC_bu()
bool has_custom(WGroupId id)
Checks if a custom group definition is registered.
const GroupDefinition & BPrime()
const GroupDefinition & B()
Built-in group definition accessors.
const GroupDefinition & CC_bc()
const GroupDefinition & BScalar()
const GroupDefinition & CC_cs()
const GroupDefinition & CC_cd()
const GroupDefinition & K()
const GroupDefinition & get_custom(WGroupId id)
Retrieves a previously registered custom group definition.
const GroupDefinition & CC_du()
void register_custom(const GroupDefinition &def)
Registers a custom group definition at runtime.
const GroupDefinition & MesonMixing()
const GroupDefinition & get(WGroupId g)
Returns the definition for a given group id.
const GroupDefinition & CC_su()
Build-time context passed to group setup hooks.
Backend backend
Backend selection used to compute or fetch coefficients.
WGroupId group_id
Identifier of the group being built.
ContributionType contrib
Contribution type used for this build (SM/BSM/TOTAL, etc.).
WilsonGroupAdapterConfig adapters
Adapter bundle used by domain objects (storage proxy, composer, core APIs, optional MARTY proxy).
std::string group_name
Optional name for diagnostics / display.
Model model
Active model used by the core (SM / SUSY / THDM / MARTY).
std::shared_ptr< IMartyWilsonPathProxy > marty_paths
Optional path provider used by MARTY-backed Wilson coefficients.
Declarative description of a Wilson coefficient group.
WGroupId id
Identifier for this group.
std::unordered_map< Model, std::vector< SetupHook > > setup
Model-specific setup hooks to run during group construction.
std::vector< SetupHook > hooks_for(Model model) const
Returns hooks applicable to model, including common hooks and the explicit Marty -> SM compatibility ...
std::unordered_map< WilsonBasis, std::map< QCDOrder, CoefficientGroupSources > > sources
Running-block sources and computation functions.
std::function< void(const BuildContext &, CoefficientGroup &)> SetupHook
Setup hook signature.
std::vector< WCoef > members
Members (coefficient enums) belonging to this group.
std::vector< SetupHook > common_setup
Setup hooks to run for every model/backend during group construction.
Dependency injection bundle for CoefficientGroup.