core.beam_parameters.phase_space.i_phase_space_beam_parameters module

Hold the beam parameters in a single phase space.

For a list of the units associated with every parameter, see Units and conventions.

Note

In this module, angles are stored in deg, not in rad!

IMPLEMENTED_PHASE_SPACES = ('zdelta', 'z', 'phiw', 'x', 'y', 't', 'phiw99', 'x99', 'y99')
class IPhaseSpaceBeamParameters(phase_space_name: str, eps_no_normalisation: ndarray | float, eps_normalized: ndarray | float, envelopes: ndarray | None = None, twiss: ndarray | None = None, sigma: ndarray | None = None, tm_cumul: ndarray | None = None, mismatch_factor: ndarray | float | None = None)

Bases: ABC

Hold Twiss, emittance, envelopes of single phase-space @ single pos.

__init__(phase_space_name: str, eps_no_normalisation: ndarray | float, eps_normalized: ndarray | float, envelopes: ndarray | None = None, twiss: ndarray | None = None, sigma: ndarray | None = None, tm_cumul: ndarray | None = None, mismatch_factor: ndarray | float | None = None) None
__post_init__() None

Ensure that the phase space exists.

_abc_impl = <_abc._abc_data object>
abstract property alpha: ndarray | float | None

Get first element/column of self.twiss.

abstract property beta: ndarray | float | None

Get second element/column of self.twiss.

abstract property envelope_energy: ndarray | float | None

Get second element/column of self.envelopes.

abstract property envelope_pos: ndarray | float | None

Get first element/column of self.envelopes.

envelopes: ndarray | None = None
abstract property eps: ndarray | float

Return the normalized emittance.

eps_no_normalisation: ndarray | float
eps_normalized: ndarray | float
classmethod from_other_phase_space(other_phase_space: Self, phase_space_name: str, gamma_kin: ndarray | float, beta_kin: ndarray | float, **kwargs: ndarray) Self

Fully initialize from another phase space.

classmethod from_sigma(phase_space_name: str, sigma: ndarray, gamma_kin: ndarray | float, beta_kin: ndarray | float, **kwargs: ndarray) Self

Compute Twiss, eps, envelopes just from sigma matrix.

abstract property gamma: ndarray | float | None

Get third element/column of self.twiss.

mismatch_factor: ndarray | float | None = None
phase_space_name: str
sigma: ndarray | None = None
tm_cumul: ndarray | None = None
twiss: ndarray | None = None