Maps#

The maps submodule contains the physics of the propagation of the particles through each of the beamline elements described in the elements submodule. For each element, a first and second-order type propagation is implemented, allowing the user to select the order of the tracking that is suitable for his specific application. It is done via the selection of the integrator type when building the beamline (see later). The Transport-type, MadX-type, and Mad8-type maps are implemented and available. The user should be aware that the canonical variables of the particles are not the same for the three different integrator types, so the definition of the beam must be done according to the integrator to be consistent.

Functions#

compute_mad_combined_dipole_matrix(...)

compute_mad_combined_dipole_tensor(...)

compute_mad_drift_matrix(element_parameters, **_)

compute_mad_drift_tensor(element_parameters, **_)

compute_mad_quadrupole_matrix(...)

compute_mad_quadrupole_tensor(...)

compute_transport_combined_dipole_ex_matrix(...)

compute_transport_combined_dipole_ex_tensor(...)

compute_transport_combined_dipole_matrix(...)

compute_transport_combined_dipole_tensor(...)

compute_transport_drift_matrix(...)

compute_transport_fringe_in_ex_matrix(...)

compute_transport_fringe_in_ex_tensor(...)

compute_transport_fringe_in_matrix(...)

compute_transport_fringe_in_tensor(...)

compute_transport_fringe_out_ex_matrix(...)

compute_transport_fringe_out_ex_tensor(...)

compute_transport_fringe_out_matrix(...)

compute_transport_fringe_out_tensor(...)

compute_transport_multipole_ex_matrix(...)

compute_transport_multipole_ex_tensor(...)

compute_transport_multipole_matrix(...)

compute_transport_multipole_tensor(...)

compute_transport_quadrupole_ex_matrix(...)

compute_transport_quadrupole_ex_tensor(...)

compute_transport_quadrupole_matrix(...)

compute_transport_quadrupole_tensor(...)

compute_transport_sextupole_ex_matrix(...)

compute_transport_sextupole_ex_tensor(...)

compute_transport_sextupole_matrix(...)

compute_transport_sextupole_tensor(...)

drift6(b1, b2, length)

Note

Performance tests on MBP i9 show that the explicit loop is faster, both at compile-time and at runtime

tmsect(fsec, el, h, sk1, sk2, dh, beta, gamma)

track_madx_bend(b1, b2, element_parameters, ...)

Track through a (thick) combined function bend.

track_madx_dipedge(b1, b2, ...)

track_madx_drift(b1, b2, element_parameters, ...)

Track through a drift.

track_madx_drift_paraxial(b1, b2, ...)

Track through a drift using the paraxial approximation.

track_madx_kicker(b1, b2, ...)

track_madx_quadrupole(b1, b2, ...)

Track through a (thick) quadrupole.

track_madx_srotation(b1, b2, ...)

param b1: