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

Helpers for project-defined FLHA observable-type identifiers. More...

#include <stdexcept>
Include dependency graph for ObservableTypeId.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Enumerations

enum class  PolarizationKind : long { Fermion = 1 , LongitudinalVector = 2 , TransverseVector = 3 }
 Polarization category encoded by the project-specific FLHA pattern 92ij. More...
 

Functions

constexpr long make_polarization_type_id (PolarizationKind kind, unsigned int daughter_position)
 Build a project-defined FLHA polarization type id using 92ij.
 

Variables

constexpr long kTransverseFractionTypeId = 932
 FLHA observable type for the transverse fraction $F_T$.
 
constexpr long kAlphaKTypeId = 933
 FLHA observable type for the angular coefficient $\alpha_K$.
 
constexpr long kLegacyFermionPolarizationTypeId = 92015
 Legacy v1.0.0–v1.0.1 type used for charged-lepton polarization.
 
constexpr long kLegacyLongitudinalVectorPolarizationTypeId = 921423
 Legacy v1.0.0–v1.0.1 type used for longitudinal vector polarization.
 

Detailed Description

Helpers for project-defined FLHA observable-type identifiers.

Definition in file ObservableTypeId.h.

Enumeration Type Documentation

◆ PolarizationKind

enum class PolarizationKind : long
strong

Polarization category encoded by the project-specific FLHA pattern 92ij.

The decimal digit i identifies the polarization category:

  • 1: fermion polarization;
  • 2: longitudinal vector polarization;
  • 3: transverse vector polarization.
Enumerator
Fermion 
LongitudinalVector 
TransverseVector 

Definition at line 21 of file ObservableTypeId.h.

Function Documentation

◆ make_polarization_type_id()

constexpr long make_polarization_type_id ( PolarizationKind  kind,
unsigned int  daughter_position 
)
constexpr

Build a project-defined FLHA polarization type id using 92ij.

The decimal digit j is the one-based position of the particle of interest in the ordered list of daughter particles stored in the FLHA observable id. For example, in $B\to D\tau\nu$, the tau is daughter 2, hence its fermion-polarization type id is 9212. In $B\to D^*\tau\nu$, the $D^*$ is daughter 1, hence its longitudinal vector-polarization type id is 9221.

Parameters
kindPolarization category encoded in digit i.
daughter_positionOne-based daughter position encoded in digit j.
Returns
The four-digit type id 92ij.
Exceptions
std::invalid_argumentif kind is outside 1–3 or if daughter_position is outside 1–9.

Definition at line 55 of file ObservableTypeId.h.

Variable Documentation

◆ kAlphaKTypeId

constexpr long kAlphaKTypeId = 933
inlineconstexpr

FLHA observable type for the angular coefficient $\alpha_K$.

Definition at line 31 of file ObservableTypeId.h.

◆ kLegacyFermionPolarizationTypeId

constexpr long kLegacyFermionPolarizationTypeId = 92015
inlineconstexpr

Legacy v1.0.0–v1.0.1 type used for charged-lepton polarization.

Definition at line 34 of file ObservableTypeId.h.

◆ kLegacyLongitudinalVectorPolarizationTypeId

constexpr long kLegacyLongitudinalVectorPolarizationTypeId = 921423
inlineconstexpr

Legacy v1.0.0–v1.0.1 type used for longitudinal vector polarization.

Definition at line 37 of file ObservableTypeId.h.

◆ kTransverseFractionTypeId

constexpr long kTransverseFractionTypeId = 932
inlineconstexpr

FLHA observable type for the transverse fraction $F_T$.

Definition at line 28 of file ObservableTypeId.h.