quantum_numbers#

import qrules.quantum_numbers

Definitions used internally for type hints and signatures.

qrules is strictly typed (enforced through mypy). This module bundles structures and definitions that don’t serve as data containers but only as type hints. EdgeQuantumNumbers and NodeQuantumNumbers are the main structures and serve as a bridge between the particle and the conservation_rules module.

class Parity(value: int)[source]#

Bases: object

value: int[source]#
class EdgeQuantumNumbers[source]#

Bases: object

Definition of quantum numbers for edges.

This class defines the types that are used in the conservation_rules, for instance in additive_quantum_number_rule. You can also create data classes (see attrs.define()) with data members that are typed as the data members of EdgeQuantumNumbers (see for example HelicityParityEdgeInput) and use them in conservation rules that satisfy the appropriate rule protocol (see ConservationRule, EdgeQNConservationRule).

pid()[source]#
mass()[source]#
width()[source]#
spin_magnitude()[source]#
spin_projection()[source]#
charge()[source]#
isospin_magnitude()[source]#
isospin_projection()[source]#
strangeness()[source]#
charmness()[source]#
bottomness()[source]#
topness()[source]#
baryon_number()[source]#
electron_lepton_number()[source]#
muon_lepton_number()[source]#
tau_lepton_number()[source]#
parity()[source]#
c_parity()[source]#
g_parity()[source]#
class NodeQuantumNumbers[source]#

Bases: object

Definition of quantum numbers for interaction nodes.

l_magnitude()[source]#
l_projection()[source]#
s_magnitude()[source]#
s_projection()[source]#
parity_prefactor()[source]#
class InteractionProperties(l_magnitude: int | None = None, l_projection: int | None = None, s_magnitude: float | None = None, s_projection: float | None = None, parity_prefactor: float | None = None)[source]#

Bases: object

Immutable data structure containing interaction properties.

Interactions are represented by a node on a MutableTransition. This class represents the properties that are carried collectively by the edges that this node connects.

Interaction properties are in particular important in the canonical basis of the helicity formalism. There, the coupled spin and angular momentum of each interaction are used for the Clebsch-Gordan coefficients for each term in a sequential amplitude.

Note

As opposed to NodeQuantumNumbers, the InteractionProperties class serves as an interface to the user.

l_magnitude: int | None[source]#
l_projection: int | None[source]#
s_magnitude: float | None[source]#
s_projection: float | None[source]#
parity_prefactor: float | None[source]#
arange(x_1: float, x_2: float, delta: float = 1.0) Generator[float, None, None][source]#