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:
State
Extension of
State
that 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:
object
Two-body sub-decay in a
StateTransition
.This container class ensures that:
a selected node in a
StateTransition
is indeed a 1-to-2 body decayits two
children
are sorted by whether they decay further or not (seeget_helicity_angle_label
,formulate_wigner_d
, andformulate_clebsch_gordan_coefficients
).the
TwoBodyDecay
is 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
TwoBodyDecay
instance 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
State
instances.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).