core.beam_parameters.phase_space.phase_space_beam_parameters module

Handle the beam parameters of 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!

class PhaseSpaceBeamParameters(phase_space_name: str, eps_no_normalisation: ndarray, eps_normalized: ndarray, envelopes: ndarray | None = None, twiss: ndarray | None = None, sigma: ndarray | None = None, tm_cumul: ndarray | None = None, mismatch_factor: ndarray | None = None)

Bases: IPhaseSpaceBeamParameters

Hold Twiss, emittance, envelopes of a single phase-space.

__init__(phase_space_name: str, eps_no_normalisation: ndarray, eps_normalized: ndarray, envelopes: ndarray | None = None, twiss: ndarray | None = None, sigma: ndarray | None = None, tm_cumul: ndarray | None = None, mismatch_factor: ndarray | None = None) None
_abc_impl = <_abc._abc_data object>
property alpha: ndarray | None

Get first column of self.twiss.

property beta: ndarray | None

Get second column of self.twiss.

property envelope_energy: ndarray | None

Get second column of self.envelopes.

property envelope_pos: ndarray | None

Get first column of self.envelopes.

property eps: ndarray

Return the normalized emittance.

eps_no_normalisation: ndarray
eps_normalized: ndarray
classmethod from_averaging_x_and_y(phase_space_name: str, x_space: Self, y_space: Self) Self

Create average transverse phase space from [xx’] and [yy’].

eps is always initialized. mismatch_factor is calculated if it was already calculated in x_space and y_space.

classmethod from_cumulated_transfer_matrices(phase_space_name: str, sigma_in: ndarray, tm_cumul: ndarray, gamma_kin: ndarray, beta_kin: ndarray) Self

Compute \(\sigma\) matrix, and everything from it.

classmethod from_other_phase_space(other_phase_space: Self, phase_space_name: str, gamma_kin: ndarray, beta_kin: ndarray, **kwargs: ndarray) Self

Fully initialize from another phase space.

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

Compute Twiss, eps, envelopes just from sigma matrix.

property gamma: ndarray | None

Get third column of self.twiss.

mismatch_factor: ndarray | None = None
set_mismatch(reference_phase_space: Self, reference_z_abs: ndarray, z_abs: ndarray, raise_missing_twiss_error: bool = True, **mismatch_kw: bool) None

Compute and set the mismatch with reference_phase_space.

property sigma_in: ndarray

Return the first \(\sigma\) beam matrix.