field100 module

Define the rf field corresponding to FIELD_MAP 100.

This is 1D longitudinal field along z. The only one that is completely implemented for now.

class Field100(folder, filename, length_m, z_0=0.0, flag_cython=False)[source]

Bases: Field

Define a RF field, 1D longitudinal.

Parameters:
  • folder (Path)

  • filename (str)

  • length_m (float)

  • z_0 (float, default: 0.0)

  • flag_cython (bool, default: False)

extensions: Collection[str] = ('.edz',)
is_implemented: bool = True
_load_fieldmap(path, **validity_check_kwargs)[source]

Load a 1D field (EDZ extension).

Parameters:

path (Path) – The path to the EDZ file to load.

Return type:

tuple[Callable[[float], float], tuple[int], int]

Returns:

  • e_z – Function that takes in z position and returns corresponding field, at null phase, for amplitude of \(1\,\mathrm{MV/m}\).

  • n_z – Number of interpolation points.

  • n_cell – Number of cell for cavities.

shift()[source]

Shift the electric field map.

Warning

You must ensure that for z < 0 and z > element.length_m the electric field is null. Interpolation can lead to funny results!

Return type:

None

e_z_functions(amplitude, phi_0_rel)[source]

Generate a function for longitudinal transfer matrix calculation.

Parameters:
Return type:

tuple[Callable[[float, float], complex], Callable[[float, float], float]]

_abc_impl = <_abc._abc_data object at 0x7318faaa2200>