Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
decay_graph.h File Reference

Runtime graph linking decay identifiers to observable identifiers. More...

#include <mutex>
#include <optional>
#include <string>
#include <unordered_map>
#include <vector>
#include "dynamic_registry.h"
Include dependency graph for decay_graph.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  DecayGraph
 Thread-safe singleton storing dynamic decay-observable links. More...
 

Typedefs

using DecayId = SymbolId< DecayTag >
 Strongly typed string identifier for a decay channel.
 
using ObservableId = SymbolId< ObservableTag >
 Strongly typed string identifier for an observable.
 

Detailed Description

Runtime graph linking decay identifiers to observable identifiers.

The static enum mappers (Decays, Observables) are not sufficient once the user can register new decays and observables at runtime. DecayGraph stores the dynamic relation:

  • one decay channel (DecayId) owns zero or more observables (ObservableId),
  • one observable has at most one parent decay.

The graph is intentionally small and in-memory only. It complements the static decay_observable_mapping() table used for builtin decays.

Note
Keys are normalized with normalize_key() so graph lookups follow the same case-insensitive semantics as DynamicRegistry.

Definition in file decay_graph.h.

Typedef Documentation

◆ DecayId

Strongly typed string identifier for a decay channel.

Definition at line 35 of file decay_graph.h.

◆ ObservableId

Strongly typed string identifier for an observable.

Definition at line 38 of file decay_graph.h.