15 auto grp = std::make_shared<GenericCoefficientGroup>(ctx.
adapters);
16 grp->set_group_id(def.id);
17 grp->set_wilson_type(ctx.
contrib);
19 std::string matching_block =
24 grp->set_matching_storage_block(matching_block);
26 for (
const auto& [basis, per_order] : def.sources) {
27 std::map<QCDOrder, CoefficientGroupSources> m;
28 for (
const auto& [ord, s] : per_order) {
30 for (
auto& [ptype, names] : s2.sources)
33 m.emplace(ord, std::move(s2));
35 grp->add_sources(basis, m);
38 std::vector<WCoefId> member_ids;
39 member_ids.reserve(def.members.size());
41 for (
auto c : def.members) {
42 auto coef = reg_.
create(ctx, c);
47 grp->set_member_ids(std::move(member_ids));
49 if (
auto it = def.setup.find(ctx.
model); it != def.setup.end()) {
50 for (
auto& hook : it->second) hook(ctx, *grp);
static std::string str(const WGroupId &gid, ScaleType s, WilsonBasis b=WilsonBasis::B_STANDARD)
Builds a composite block name using a WGroupId, scale and basis.
Build-time context passed to group setup hooks.
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).