decay
decay¶
import ampform.helicity.decay
Extract two-body decay info from a StateTransition.
- class StateWithID(particle: Particle, spin_projection: SupportsFloat, id: int)[source]¶
Bases:
StateExtension of
Statethat embeds the state ID.- classmethod from_transition(transition: StateTransition, state_id: int) StateWithID[source]¶
- class TwoBodyDecay(parent: StateWithID, children: Tuple[StateWithID, StateWithID], interaction: InteractionProperties)[source]¶
Bases:
objectTwo-body sub-decay in a
StateTransition.This container class ensures that:
a selected node in a
StateTransitionis indeed a 1-to-2 body decayits two
childrenare sorted by whether they decay further or not (seeget_helicity_angle_label,formulate_wigner_d, andformulate_clebsch_gordan_coefficients).the
TwoBodyDecayis hashable, so that it can be used as a key (seeset_dynamics.)
- parent: StateWithID¶
- children: Tuple[StateWithID, StateWithID]¶
- interaction: InteractionProperties¶
- static create(obj: Any) TwoBodyDecay[source]¶
Create a
TwoBodyDecayinstance from an arbitrary object.More implementations of
create()can be implemented with@ampform.helicity.decay._create_two_body_decay.register(TYPE).
- classmethod from_transition(transition: StateTransition, node_id: int) TwoBodyDecay[source]¶
- get_helicity_info(transition: StateTransition, node_id: int) Tuple[State, Tuple[State, State]][source]¶
Extract in- and outgoing states for a two-body decay node.
- get_sorted_states(transition: StateTransition, state_ids: Iterable[int]) List[State][source]¶
Get a sorted list of
Stateinstances.In order to ensure correct naming of amplitude coefficients the list has to be sorted by name. The same coefficient names have to be created for two transitions that only differ from a kinematic standpoint (swapped external edges).