Kicker
This module describes the PASS kicker element Kicker, used to simulate the motion of charged particles in a pulsed dipole magnet. A kicker is a fast-acting transverse deflection element that changes the beam direction by applying an angular deflection. It is widely used in beam injection, extraction, orbit correction, and fast beam manipulation.
The PASS kicker supports both thick element (length > 0) and thin lens (length = 0) modes. The thick element uses the exact drift-kick-drift (DKD-exact) symplectic integration scheme, supporting both uniform (2nd-order) and yoshida4 (4th-order) symplectic integrators. Physically, a kicker is equivalent to an order-0 multipole (dipole), with kick formulas \(\Delta p_x = \text{hkick}\) and \(\Delta p_y = \text{vkick}\).
Code Location
Source file:
PASS/commands/element/kicker.pyClass name:
Kicker(inherits fromCommand)Registration name:
kickerKey features:
Supports thin lens mode (
length = 0, applies only a dipole kick)Supports thick lens mode (
length > 0, DKD-exact symplectic integration)Supports uniform (2nd-order leapfrog) and yoshida4 (4th-order Yoshida composition) integrators
Horizontal kick (
hkick) and vertical kick (vkick) set independentlySupports unidirectional kick (only
hkickor onlyvkick) and bidirectional kick (both nonzero)Mask-based kick application, no per-particle branching
Zero kick: thin lens degenerates to a marker, thick lens degenerates to a pure drift
Supports aperture check
Coordinate Convention
PASS uses normalized curvilinear coordinates consistent with Xsuite. The six-dimensional phase-space variables are \((x, p_x, y, p_y, z, \delta)\):
Variable |
Symbol |
Definition |
|---|---|---|
|
\(x\) |
Horizontal offset (relative to the reference orbit) |
|
\(p_x\) |
Normalized horizontal momentum, \(p_x = P_x / P_0\) |
|
\(y\) |
Vertical offset |
|
\(p_y\) |
Normalized vertical momentum, \(p_y = P_y / P_0\) |
|
\(\zeta\) |
Longitudinal coordinate, \(\zeta = s - \beta_0 c t\) |
|
\(\delta\) |
Relative momentum deviation, \(\delta = P / P_0 - 1\) |
where \(P_0\) is the reference particle momentum, \(\beta_0 = v_0 / c\) is the reference particle normalized velocity, \(s\) is the arc length along the reference orbit, and \(t\) is time.
Physical Derivation
Physical Nature of the Kicker
A kicker is physically a pulsed dipole magnet that produces a uniform magnetic field \(B_0\) within a brief time window, applying a transverse deflection to particles passing through it. The deflection angle of a dipole magnet of length \(L\) for the reference particle is:
where \(B\rho = p_0 / q\) is the magnetic rigidity. Therefore, a kicker is physically equivalent to an order-0 multipole with integrated strength \(K_{0L} = \theta\). In PASS, hkick and vkick are this integrated strength (in radians).
Dipole Kick
The kicker kick formulas are:
For thin lens mode, hkick and vkick are applied directly as integrated strengths. For thick lens DKD mode, the per-slice kick is \(\text{hkick}_{\text{eff}} = \text{hk} \cdot \Delta s\), where \(\text{hk} = \text{hkick} / L\) is the per-unit-length strength.
Note
hkick and vkick are integrated dipole strengths (in radians), equivalent to the hkick / vkick parameters in MAD-X, and also equivalent to Multipole’s knl=[hkick] and ksl=[vkick].
Overall Tracking Flow
Depending on the magnet length, the kicker has two tracking modes:
Thin lens mode (\(L = 0\))
====== Thin lens (length = 0) ======
Single dipole kick Kick(hkick, vkick)
[Position unchanged, momentum jump only]
Thick lens mode (\(L > 0\))
====== Thick lens (length > 0) ======
Slice 1 → Slice 2 → ... → Slice N
(Each slice: Drift(ds/2) → Kick(ds) → Drift(ds/2))
where ds = L / N
hkick_eff = hk * ds, vkick_eff = vk * ds
If hkick=0 and vkick=0: degenerates to a single exact drift Drift(L)
The complete map is:
Thin lens:
Thick lens (N slices):
where the DKD map for each slice is:
Note
Thin lens mode does not change the particle position coordinates \((x, y, z)\), only applies momentum kicks
Chromaticity and other effects in thick lens mode are naturally introduced through the \(p_z\) expression in exact drift
When both
hkickandvkickare zero, the thick lens degenerates to a pure drift, avoiding meaningless empty kick loops
Exact Drift Map
The drift part uses the exact drift (Table 1.1, map D, Eq. 1.86-1.88), identical to that of the quadrupole/sextupole/octupole/multipole:
where:
The exact drift preserves the full nonlinearity of \(p_z\), naturally introducing chromaticity, higher-order dispersion, and path-length effects.
Symplectic Integrators
Uniform (2nd-order leapfrog)
Each slice performs Drift-Kick-Drift:
This is a 2nd-order symplectic integrator with truncation error \(O(\Delta s^2)\).
Yoshida4 (4th-order composition)
Three DKD steps are combined into a 4th-order symplectic integrator:
where the Yoshida coefficients are:
Truncation error \(O(\Delta s^4)\).
Interface Parameters
Property |
JSON key |
Type |
Default |
Description |
|---|---|---|---|---|
|
|
float |
Required |
Longitudinal position of the element in the beamline |
|
|
str |
Required |
Element name |
|
|
float |
0.0 |
Magnet length, \(= 0\) for thin lens, \(> 0\) for thick lens |
|
|
float |
0.0 |
Horizontal kick (radians), \(\Delta p_x = \text{hkick}\) |
|
|
float |
0.0 |
Vertical kick (radians), \(\Delta p_y = \text{vkick}\) |
|
|
int |
1 |
Number of slices for thick lens |
|
|
str |
|
Integrator, options: |
|
|
str |
|
Aperture type |
|
|
list |
|
Aperture parameter values |
Note
Both hkick and vkick are optional parameters with default value 0. They are set independently:
Only
hkicknonzero: unidirectional horizontal kickerOnly
vkicknonzero: unidirectional vertical kickerBoth nonzero: bidirectional kicker
Both zero: thin lens degenerates to a marker, thick lens degenerates to a pure drift
The Command field should be set to kicker.
Usage Examples
Thin Lens Horizontal Kicker
The following example places a thin lens horizontal kicker at \(s = 10.0\) m with a kick of \(1.5 \times 10^{-3}\) rad:
{
"HK1": {
"S (m)": 10.0,
"Command": "kicker",
"hkick": 0.0015,
"vkick": 0.0
}
}
Only a horizontal kick is applied; the vertical direction is unaffected. Suitable for horizontal orbit correction or horizontal injection.
Thin Lens Vertical Kicker
The following example places a thin lens vertical kicker at \(s = 20.0\) m with a kick of \(-2.3 \times 10^{-3}\) rad:
{
"VK1": {
"S (m)": 20.0,
"Command": "kicker",
"hkick": 0.0,
"vkick": -0.0023
}
}
Only a vertical kick is applied; the horizontal direction is unaffected. The negative sign indicates a downward kick direction.
Thick Lens Bidirectional Kicker
The following example places a thick lens bidirectional kicker at \(s = 15.0\) m with 4 slices and a uniform integrator:
{
"BK1": {
"S (m)": 15.0,
"Command": "kicker",
"Length (m)": 0.3,
"hkick": 0.003,
"vkick": -0.0015,
"Num Slices": 4,
"Integrator": "uniform",
"Aperture Type": "circle",
"Aperture Value": [0.05]
}
}
Both horizontal and vertical kicks are applied simultaneously, with length 0.3 m, 4-slice DKD-exact symplectic integration, and a circular aperture check (radius 0.05 m).
Thick Lens with yoshida4 Integrator
The following example uses a 4th-order Yoshida integrator, suitable for scenarios requiring high precision:
{
"BK2": {
"S (m)": 25.0,
"Command": "kicker",
"Length (m)": 0.5,
"hkick": 0.002,
"vkick": 0.0,
"Num Slices": 2,
"Integrator": "yoshida4"
}
}
2 slices, each performing 3 DKD steps (Yoshida composition), with truncation error \(O(\Delta s^4)\).
Zero-Kick Kicker
The following example places a zero-kick kicker at \(s = 30.0\) m:
{
"K0": {
"S (m)": 30.0,
"Command": "kicker",
"hkick": 0.0,
"vkick": 0.0
}
}
When both kicks are zero and the length is zero, the kicker degenerates to a marker, leaving all particle coordinates unchanged. This can be used to reserve a kicker position for later activation via a ramping table.
Application Scenarios
Beam injection: Place kickers in the injection section to deflect the injected beam to match the main ring closed orbit, achieving beam injection
Beam extraction: Place kickers at the extraction point to rapidly deflect the beam into the extraction channel, achieving fast or slow extraction
Orbit correction: Place kickers at key beamline positions to correct orbit deviations or create local orbit bumps
Fast beam manipulation: Control the kicker kick through timing to achieve rapid beam direction switching or scanning
Feedback systems: Combined with pickups, form a bunch-by-bunch transverse feedback system to suppress beam instabilities
References
MAD-X User’s Guide, “Kicker” section (hkick / vkick definitions)
Xsuite source code:
xtrack/mad_loader.py(convert_kicker,_make_kicker_multipole)Yoshida, H., “Construction of higher order symplectic integrators”, Phys. Lett. A 150 (1990)
Wiedemann, H., “Particle Accelerator Physics”, Ch. 4 (dipole magnets and deflection)