|
Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
|
Declarative registry describing Wilson coefficient groups, their sources, and setup hooks. More...
#include <unordered_map>#include <map>#include <vector>#include <functional>#include <stdexcept>#include "WilsonGroup.h"#include "IMartyWilsonPathProxy.h"

Go to the source code of this file.
Classes | |
| struct | BuildContext |
| Build-time context passed to group setup hooks. More... | |
| struct | GroupDefinition |
| Declarative description of a Wilson coefficient group. More... | |
Namespaces | |
| namespace | GroupDefinitions |
| Registry/factory of built-in and custom GroupDefinition objects. | |
Enumerations | |
| enum class | Backend { Builtin , Marty } |
Variables | |
| constexpr const char * | MATCHING_BLOCK_PLACEHOLDER = "$MATCHING_BLOCK$" |
| Placeholder string used in GroupDefinition sources to refer to the matching block. | |
Declarative registry describing Wilson coefficient groups, their sources, and setup hooks.
This header introduces a declarative layer used to describe Wilson coefficient groups (e.g. B, B', BScalar, charged currents, meson mixing, K, …) without hard-coding construction logic everywhere.
A GroupDefinition contains:
It also provides the GroupDefinitions namespace which acts as a registry / factory for built-in group definitions and user-registered custom ones.
Many group definitions are written generically and refer to the matching block by using the string placeholder MATCHING_BLOCK_PLACEHOLDER instead of a concrete block name.
A builder can then replace it with the actual block: GroupMapper::str(ctx.group_id, ScaleType::MATCHING) when instantiating a concrete CoefficientGroup.
The main lookup entry point is: GroupDefinitions::get(WGroupId) which returns the built-in definition if the id is known by GroupMapper, otherwise falls back to the custom registry.
Definition in file GroupDefinition.h.
|
strong |
| Enumerator | |
|---|---|
| Builtin | |
| Marty | |
Definition at line 66 of file GroupDefinition.h.
|
inlineconstexpr |
Placeholder string used in GroupDefinition sources to refer to the matching block.
Many built-in definitions describe their sources using a placeholder instead of a concrete block name. During instantiation, a builder should replace this placeholder with: GroupMapper::str(ctx.group_id, ScaleType::MATCHING).
This keeps definitions reusable and avoids duplicating block naming logic.
Definition at line 117 of file GroupDefinition.h.