decayamplitude package
Submodules
decayamplitude.arguments module
decayamplitude.backend module
decayamplitude.chain module
decayamplitude.combiner module
decayamplitude.kinematics_helpers module
decayamplitude.resonance module
decayamplitude.rotation module
- class decayamplitude.rotation.Angular(angular_momentum: int)
Bases:
object
- couple(other)
Couple two angular momenta
- classmethod generate_helicities(*angular_momenta: list[Angular]) list[tuple[int]]
Generate all possible helicities for a given set of angular momenta
- index()
- property parity
- projections(return_int=False)
Returns the possible projections of the angular momentum
- property value
- property value2
- class decayamplitude.rotation.QN(angular_momentum: int | Angular, parity: int)
Bases:
object
- couple(other)
Couple two quantum numbers
- classmethod generate_L_states(state0: QN, state1: QN, state2: QN) Generator[tuple[QN, QN], None, None]
state0 -> state1 + state2 S = coupled spins of state 1 and state 2 L = angular momentum of the 1-2 system L can be covered by coupling J with state0, since the possible L values arise from coupling J with a series of L values and looking which one can in turn couple to state0 spin. This is in pricinple due to detailed balance.
params: state0 : QN
Quantum numbers of the initial state
- state1QN
Quantum numbers of the first final state
- state2QN
Quantum numbers of the second final state
returns: Generator[tuple[QN, QN]]
Generator of possible (L, S) states Partity is not given, since it is defined by state0
- projections(return_int=False)
- decayamplitude.rotation.clebsch_gordan(j1, m1, j2, m2, J, M)
Return clebsch-Gordan coefficient. Note that all arguments should be multiplied by 2 (e.g. 1 for spin 1/2, 2 for spin 1 etc.). Needs sympy.
- decayamplitude.rotation.convert_angular(f)
Wrapper to convert all passed values of type Angular to type int
- decayamplitude.rotation.get_wigner_function(j: int, m1: int, m2: int)
Return Wigner small-d function. Note that all arguments should be multiplied by 2 (e.g. 1 for spin 1/2, 2 for spin 1 etc.). Needs sympy.
- decayamplitude.rotation.wigner_capital_d(*args, **kwargs)
- decayamplitude.rotation.wigner_small_d(theta, j, m1, m2)
- Calculate Wigner small-d function. Needs sympy.
theta : angle j : spin (in units of 1/2, e.g. 1 for spin=1/2) m1 and m2 : spin projections (in units of 1/2)
- Parameters:
theta
j
m1 – before rotation
m2 – after rotation
decayamplitude.utils module
- decayamplitude.utils.sanitize(name: str) str
Sanitize a name for use in python code