Skip to content

Some Useful Formulae for High Energy Ion Beam Systems

Relativistic rest mass, gamma, beta, momentum, magnetic rigidity, and dipole deflection for ion beams, with Python examples.

Beam energy, orbit frequency, and magnet settings are linked by a small set of relativistic relations. This note collects the forms Pyramid engineers use when sizing Magnetics, timing RF harmonics, or sanity-checking a customer's energy / rigidity claim. Symbols match common accelerator usage; Python snippets mirror each equation so you can drop them into a notebook.

Units. Energies are in electron-volts (eV), or MeV / GeV after dividing by / . Momentum then carries units of eV/ (or MeV/, GeV/). Magnetic field is in tesla (T) and length in meters (m). Charge state is an integer ( for protons, for C, and so on).

Rest Mass of Particle in eV

Rest mass is the energy equivalent of the particle's mass at rest. Once you know it, every later formula (gamma, momentum, rigidity) builds from the same .

Rest mass in eV
  • : mass number in atomic mass units (amu). Use for a proton, for C, and so on.
  • : atomic mass unit, kg
  • : speed of light, m s
  • : elementary charge, C

The second form is the practical one: multiply the amu value by to get in eV. Divide by for MeV or for GeV. A proton's rest mass is about MeV; that single number is worth memorizing.

Python
U0_eV = 9.3149433e8 * a          # rest mass in eV
U0_MeV = U0_eV / 1e6
U0_GeV = U0_eV / 1e9

Gamma, Beta, and Velocity

Total energy is rest mass plus kinetic energy. The Lorentz factor is their ratio. From you get , and from the lab-frame speed.

Lorentz factor
Beta from gamma
Lab-frame speed
  • : total energy ()
  • : kinetic energy (what accelerators usually quote as "beam energy")
  • : speed in m s

At low energy (), is small and classical intuition holds. At therapy energies (for example a MeV proton, ), is already : relativity is not optional. As grows, approaches and further energy mostly increases , not speed.

Python
import math

gamma = (U0 + UK) / U0
beta = math.sqrt(1  1 / gamma**2)
v = beta * c                 # m/s; c = 299_792_458

Closed Orbits

In a closed ring (or any closed reference orbit), the particle returns after traveling circumference . Orbit frequency is simply speed over path length. RF cavities often run at an integer harmonic of .

Orbit frequency
Kinetic energy from f0
  • : orbit (revolution) frequency in Hz
  • : orbit circumference in m (need not be a circle; use the design path length)

The second relation inverts the first: if you measure and know , you recover kinetic energy. That is useful when a revolution-frequency pick-up is more trustworthy than an energy setpoint.

Python
f0 = beta * c / C            # Hz
UK_over_U0 = 1 / math.sqrt(1  (f0 * C / c) ** 2)  1
UK = UK_over_U0 * U0

Momentum

Relativistic momentum ties rest mass to and . With in eV, lands naturally in eV/.

Relativistic momentum

Keep the energy unit of : eV eV/, MeV MeV/, GeV GeV/. For SI (kg m s), multiply the eV/ value by .

Python
p_eVc = beta * gamma * U0    # eV/c if U0 is in eV
p_SI = p_eVc * 5.34429e-22   # kg m/s

Solving for Kinetic Energy in Terms of Momentum and Rest Mass

Sometimes you know momentum (from a spectrometer, rigidity, or TOF) and need kinetic energy. The relativistic energy-momentum relation gives directly.

Kinetic energy from p

Here and must share consistent units (both eV-based, or both MeV-based). The square root is total energy; subtracting rest mass leaves kinetic energy. In the ultra-relativistic limit , this approaches (with in energy/).

Python
UK = math.sqrt(p_eVc**2 + U0**2)  U0

Magnetic Rigidity

Magnetic rigidity measures how hard a magnet must work to bend a given particle. Higher momentum or lower charge means larger rigidity. It is the bridge between beam physics and magnet design.

Magnetic rigidity

With as the numeric value in eV/ (or MeV/ / GeV/ with the same scaling) and in m s, comes out in T·m. Charge state is dimensionless ( for protons).

Handy check. For in GeV/: . A GeV/ proton has T·m.

Pyramid dipole and quadrupole products under Magnetics are specified around the rigidities customers actually run.

Python
Brho = p_eVc / (q * c)       # T·m; q = charge state (int)
# or, if p is already in GeV/c:
# Brho = p_GeVc / (0.299792458 * q)

Bending Radius in a Magnetic Field

Inside a uniform dipole field , the particle follows a circular arc of radius . Rigidity fixes the product ; either one determines the other.

Bending radius
  • : bending (gyromagnetic) radius in m
  • : magnetic field in T

Example: T·m in a T dipole gives m. That radius sets magnet gap length, chamber aperture, and how much orbit you can fit in a given footprint.

Python
r = Brho / B                 # m

Deflection in a Parallel Straight-Edged Uniform Magnetic Field with Sharp Cut Off

A common lab / beamline case is a rectangular dipole region of width with roughly sharp field edges. A particle entering on a straight line exits deflected by angle .

Diagram unavailable.

Deflection angle
  • : deflection angle in radians ( for degrees)
  • : distance between the entrance and exit field edges in m
  • : bending radius from the previous section ()

Geometry: the particle arcs on radius while it is inside the field. The chord across the magnet is , so appears naturally. For small angles (under about ), the nominal "kick" point (intersection of entrance and exit rays) sits close to midway between the faces; that approximation is good enough for many first-order layouts.

Require . If the field region is wider than the bending radius, the particle turns around inside the magnet and this formula no longer describes a single-pass bend.

Python
alpha_rad = math.pi / 2  math.acos(x / r)
alpha_deg = math.degrees(alpha_rad)

Putting It Together

A typical workflow for a new beam:

  1. Fix species rest mass from amu.
  2. Fix kinetic energy , , , and .
  3. Fix charge state rigidity .
  4. Choose dipole field bend radius , then deflection for a given magnet width .
  5. If the machine is a ring, check that matches the intended RF harmonic plan.
Python
import math

c = 299792458.0            # m/s
a, UK_MeV, q = 1.007276, 230.0, 1   # example: 230 MeV proton

U0 = 9.3149433e8 * a         # eV
UK = UK_MeV * 1e6            # eV
gamma = (U0 + UK) / U0
beta = math.sqrt(1  1 / gamma**2)
p = beta * gamma * U0        # eV/c
Brho = p / (q * c)           # T·m
print(f"gamma={gamma:.4f}  beta={beta:.4f}  Bρ={Brho:.3f} T·m")

Further Information

Browse Magnetics for dipoles, quadrupoles, and power systems matched to these rigidities, or reach Support / contact us when you want a second set of eyes on an energy, orbit, or bend calculation for a Pyramid system.

Liên Hệ Bán Hàng & Kỹ Thuật
Liên hệ với đội ngũ bán hàng và kỹ thuật của chúng tôi để thảo luận về dự án của bạn.