naming
naming¶
import ampform.helicity.naming
Generate descriptions used in the helicity
formalism.
- class HelicityAmplitudeNameGenerator[source]¶
Bases:
object
- register_amplitude_coefficient_name(transition: StateTransition) None [source]¶
- generate_amplitude_name(transition: StateTransition, node_id: Optional[int] = None) str [source]¶
Generates a unique name for the amplitude corresponding.
That is, corresponging to the given
StateTransition
. Ifnode_id
is given, it generates a unique name for the partial amplitude corresponding to the interaction node of the givenStateTransition
.
- generate_coefficient_name(transition: StateTransition, node_id: int) str [source]¶
Generate partial amplitude coefficient name suffix.
- generate_sequential_amplitude_suffix(transition: StateTransition) str [source]¶
Generate unique suffix for a sequential amplitude transition.
- class CanonicalAmplitudeNameGenerator[source]¶
Bases:
HelicityAmplitudeNameGenerator
- generate_amplitude_name(transition: StateTransition, node_id: Optional[int] = None) str [source]¶
Generates a unique name for the amplitude corresponding.
That is, corresponging to the given
StateTransition
. Ifnode_id
is given, it generates a unique name for the partial amplitude corresponding to the interaction node of the givenStateTransition
.
- generate_coefficient_name(transition: StateTransition, node_id: int) str [source]¶
Generate partial amplitude coefficient name suffix.
- generate_transition_label(transition: StateTransition) str [source]¶
Generate a label for a coherent intensity, including spin projection.
>>> import qrules >>> reaction = qrules.generate_transitions( ... initial_state="J/psi(1S)", ... final_state=["gamma", "pi0", "pi0"], ... allowed_intermediate_particles=["f(0)(980)"], ... ) >>> print(generate_transition_label(reaction.transitions[0])) J/\psi(1S)_{-1} \to \gamma_{-1} \pi^{0}_{0} \pi^{0}_{0} >>> print(generate_transition_label(reaction.transitions[-1])) J/\psi(1S)_{+1} \to \gamma_{+1} \pi^{0}_{0} \pi^{0}_{0}