Compton back-scattering of a counter-propagating laser off the beam.
Parallel capable? : yes
GPU capable? : no
Back-tracking capable? : no
Spin-tracking capable? : no
| Parameter Name | Units | Type | Default | Description |
| LASER_WAVELENGTH | M | double | 8e-07 | Wavelength of the collision laser (sets the incident photon energy E_h = h c / lambda). |
| PULSE_ENERGY | J | double | 0.0 | Energy per laser pulse. Used to set the photon number N_ph = PULSE_ENERGY/E_h unless N_PHOTONS>0. |
| SIGMA_X | M | double | 1e-05 | Laser transverse rms size in x at focus. |
| SIGMA_Y | M | double | 1e-05 | Laser transverse rms size in y at focus. |
| LASER_PULSE_LENGTH | M | double | 0.001 | Laser rms pulse length (c*sigma_t). |
| DX | M | double | 0.0 | Laser transverse offset in x at focus. |
| DY | M | double | 0.0 | Laser transverse offset in y at focus. |
| FOCUS_POSITION | M | double | 0.0 | Longitudinal position of the laser focus relative to the element (S0). |
| LASER_DELAY | S | double | 0.0 | Laser-pulse timing offset relative to the reference particle. |
| COLLISION_ANGLE | RAD | double | 3.14159265358979 | Angle between the electron and laser directions. PI = head-on; other values give a crossing angle. |
| COLLISION_AZIMUTH | RAD | double | 0.0 | Azimuthal orientation of the crossing plane, measured from +x toward +y (0 = horizontal x-z plane). Combined with COLLISION_ANGLE it sets the laser propagation direction. |
| FACTOR | double | 1 | Scale factor applied to the computed scatter rate. |
|
CBSCAT continued
Compton back-scattering of a counter-propagating laser off the beam.
| Parameter Name | Units | Type | Default | Description |
| N_PHOTONS | double | 0.0 | If >0, overrides the laser photon number computed from PULSE_ENERGY. |
|
| N_STEPS | long | 21 | Number of longitudinal quadrature points for the luminosity overlap integral. |
|
| STARTONPASS | long | 0 | Pass number to start on. |
|
| ENDONPASS | long | -1 | Pass number to end on (inclusive). Ignored if negative. |
|
| PASS_INTERVAL | long | 1 | Apply scattering only every PASS_INTERVAL-th pass, counting from STARTONPASS (and no later than ENDONPASS). 1 (default) = every pass in the window. |
|
| CROSS_SECTION | STRING | klein-nishina | Differential cross section for angle sampling: "klein-nishina" or "thomson". |
|
| EXACT_RECOIL | long | 0 | If nonzero, apply
the single-scatter recoil by an
exact
per-particle Lorentz boost to
the electron rest frame (exact
Compton energy-momentum
conservation), instead of the
default approximate lab-frame
Eq. (4)
mapping. The exact treatment
matters when eps=E’/(m_e
c |
|
| PHOTON_OUTPUT_FILE | STRING | NULL | Optional SDDS file for the emitted (back-scattered) photons. No file is written if blank. |
|
| GROUP | string | NULL | Optionally used to assign an element to a group, with a user-defined name. Group names will appear in the parameter output file in the column ElementGroup |
|
This element models Compton back-scattering of a counter-propagating (or crossing-angle) laser pulse off the electron beam, following and extending Pan et al. [2]. It is a zero-length, per-particle stochastic element: on each pass every particle has a probability of undergoing a single Compton scatter, and if it does its transverse angles and fractional momentum deviation are changed according to Eq. (4) of that reference. The element may optionally record the emitted (back-scattered) photons to an SDDS file for γ-source spectrum studies.
Recoil model. Let γ and β be the Lorentz factor and velocity of the individual electron (computed from its own momentum P = (1 + δ)P0, not the reference value, so a beam with energy spread scatters with the correct per-electron kinematics), Ee = γmec2 its energy, Eh = hc∕λ the lab-frame laser-photon energy (set by LASER_WAVELENGTH), and θ0 the collision angle between the electron and laser directions (COLLISION_ANGLE; θ0 = π is head-on). Define the rest-frame incident photon energy
![]() | (43) |
For a scatter with photon polar angle θ (measured from the electron direction) and azimuth ϕ, the coordinate changes applied are

The Eq. (4) mapping above is a linearized lab-frame recoil: the transverse terms are the paraxial projection x′ = px∕pz, and the energy change is evaluated using the incident rest-frame photon energy E′. It is therefore exact only in the Thomson limit ϵ ≡ E′∕(mec2) → 0; for ϵ not small it overestimates the electron energy loss because it omits the rest-frame Compton down-shift. Setting EXACT_RECOIL= 1 replaces this mapping with an exact, per-particle treatment: the electron and incident photon four-momenta are boosted into the electron rest frame (boost along the electron’s own direction), the photon is scattered there with exact Compton energy–momentum conservation,
![]() | (47) |
and the outgoing electron and photon four-momenta (formed by conservation) are boosted back to the lab, where the electron momentum is mapped to (x′,y′,δ) without approximation. This matches the analytic Compton edge 4γ2Eh∕(1 + 2ϵ) and should be used in the hard inverse-Compton / γ-ray regime (ϵ ≳ 0.1); at small ϵ it agrees with the default to a few percent. The overlap integral and the sampling of θ are identical in both modes. The default (EXACT_RECOIL= 0) retains the Eq. (4) mapping for backward compatibility.
Cross section. The scattered-photon polar angle is sampled from the differential cross section selected by CROSS_SECTION:
re2 [49].
In the keV rest-frame-energy regime typical of optical-laser Compton sources the two choices agree to order ϵ; both are provided for generality.
Scatter probability (luminosity overlap). The mean number of scatters for a given particle on a given pass is computed as a luminosity-overlap integral of that particle’s path through the Gaussian laser pulse,
![]() | (48) |
integrated over the electron beamline coordinate z, where nph is the laser photon density, (1 -β cosθ0) is the relative-velocity (flux) factor — exact for any angle — and the 1∕β converts the time integral to a path-length integral. The photon number is Nph =PULSE_ENERGY∕Eh unless overridden by N_PHOTONS.
The overlap is evaluated in the laser propagation frame rather than the beamline frame, so the geometry
is correct for any collision angle, including a 90∘ side collision. The propagation direction and two
transverse laser axes are built from COLLISION_ANGLE (θ0, the angle between +ẑ and the laser
propagation; θ0 = π is head-on) and COLLISION_AZIMUTH (ϕ0, measured from +
toward
+ŷ, so ϕ0 = 0 is a crossing in the horizontal x–z plane and ϕ0 = π∕2 a vertical crossing):

1 (in the crossing plane) and
2
(perpendicular to it), and LASER_PULSE_LENGTH is the rms length along the propagation direction
. At
head-on this reduces to
= -ẑ,
1 =
,
2 = ŷ, i.e. the familiar pulse-length-along-z picture. Two
focusing effects are included simultaneously:
, where s is the distance from the waist measured along
,
with Rayleigh range zR = 4πσ02∕λ computed separately for SIGMA_X and SIGMA_Y from
LASER_WAVELENGTH. The waist location is set by FOCUS_POSITION (S0, along ẑ) together with
the transverse offsets DX, DY.
,
1,
2), so both the reduced interaction length of an oblique collision and the exact flux
factor (1 - β cosθ0)∕β are captured.Each particle’s true (velocity-corrected) arrival time, referenced to the bunch centroid and offset by LASER_DELAY (a time in seconds), sets its overlap, so head/tail and off-axis particles sample different, hourglass-broadened overlaps. Because the exponent is quadratic in z, the quadrature is centered on the overlap peak and spans ±5 effective sigma about it, evaluated over N_STEPS points (the full hourglass-broadened density is used at each point). A single scatter per pass is applied (valid for μ « 1); if μ > 1 it is clamped to 1 and a warning is issued. The overall rate can be scaled with FACTOR.
Photon output. If PHOTON_OUTPUT_FILE is given, the emitted back-scattered photons are written to an SDDS file with columns Ep (photon energy, eV), x, xp, y, and yp. Photon output is available in the serial version of elegant only.
The output filename may be an incomplete filename. This means it may contain one instance of the string format specification “%s” and one occurence of an integer format specification (e.g., “%ld”). elegant will replace the former with the rootname (see run_setup) and the latter with the element’s occurrence number. This allows labeling the files from different interaction points with sequential indices.
Notes. The element applies at most one Compton event per particle per pass, consistent with Eq. (4). For multi-pass (storage-ring) use, STARTONPASS and ENDONPASS gate the passes on which scattering occurs, and PASS_INTERVAL further restricts scattering to every PASS_INTERVAL-th pass counting from STARTONPASS (the default of 1 acts on every pass in the window).
CCBEND