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_idis 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_idis 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}