AT basics#

The Accelerator Toolbox is based on a fast and modular tracking engine.

Coordinate system#

The AT coordinate system is based on a design trajectory along which the magnetic elements are aligned, and a reference particle:

coordinate system

By convention, the reference particle travels along the design trajectory at constant nominal energy and defines the phase origin of the RF voltage.

The 6-d coordinate vector \(\vec Z\) is:

\[\begin{split}\vec Z = \begin{pmatrix} x \\ p_x/p_0 \\ y \\ p_y/p_0 \\ \delta \\ \beta c\tau \end{pmatrix}\end{split}\]

\(p_0\) is the nominal momentum,

\(\delta=\dfrac{p-p_0}{p_0}\) is the relative momentum deviation.

AT works with relative path lengths: the 6th coordinate \(\beta c\tau\) represents the path lengthening with respect to the reference particle. \(\tau\) is the delay with respect to the reference particle: the particle is late for \(\tau > 0\).

Magnetic field expansion#

The multipole magnets are expressed according to the following expression for the multipole expansion of the magnetic field:

\[\frac{B_y + iB_x}{B\rho} = \sum_{n=0}^{MaxOrder}(b_n+ ia_n)(x+iy)^n\]

where \(n\) is the multipole order (0 for dipole, 1 for quadrupole…).

The \(b_n\) coefficients describe the “normal” magnetic field (mid-plane symmetry) and are given in the PolynomB sequence.

The \(a_n\) coefficients describe the “skew” magnetic field and are given in the PolynomA sequence.

Note

This field expansion differs from the one used in MAD or other programs. See PALS for a definition of the MAD/PALS field expansion.

Tracking#

All the AT processing is based on tracking. For instance, linear optics properties are deduced from a one-turn transfer matrix obtained by differentiating the tracking output on a small dimension grid centered on the closed orbit.

The tracking through each AT element is performed by an integrator, called its “passmethod”. There is no correlation between an element class and its associated passmethod. The passmethod must be explicitly specified by the PassMethod attribute of the element.

The tracking engine is written in C for the best performance. Each passmethod is dynamically loaded on-demand when encountering the first element requiring it.

See AT Passmethods for a description of the available passmethods,