Particle simulation¶
One possible final project for PHYS5151 involves writing a Python program to simulate the passage of particles through matter. There are two main physical effects: the energy loss of a particle according to the Bethe-Bloch formula and the multiple scattering of particles at the nucleans of the matter traveresed.
Relativistic kinematics in particle physics¶
In particle physics particles move at high speed, comparable to the speed of light. Hence we have to use special relativity when calculating kinematic quantities. Time dilation and masses that deviate from rest masses are well known effects in relativity. The latter is immortalised by the equation \(E = mc^2\), which expands to \(E=m_0 \gamma c^2\). We typically know the rest mass \(m_0\) of a particle and its energy \(E\), either because we know the energy of the collision or because we measured it. This gives us an easy way to determine the \(\gamma\)-factor for further calculations: \(\gamma = E/m_0 c^2\). To make our life even easier we work in natural units instead of SI or cgs units. Instead of defining kg, m and s and deriving the rest, we set \(c=1\) and \(\hbar=1\), without units. As a result all of our derived units are in powers of eV (electron volts). The \(\gamma\)-factor is now simply \(\gamma = E/m\). Here and in the folloing \(m\) always denotes the rest mass of a particle. As mass contains energy, we also need a new relativistic energy-momentum relation when we give particles (high) momentum \(p\). This relation is \(E^2 = p^2 + m^2\) (factors of \(c\) are not showing up here because of natural units). For a particle without momentum, all its energy is in its rest mass. For a particle with high momentum the rest mass plays little role (the ultra-relativistic case). Together with the well known relation \(\gamma = \sqrt{1/(1-\beta^2)}\) with \(\beta = v/c\), this now also gives an easy formula for the speed of a particle: \(\beta = p/E\). In relativistic calculations one often needs the combination \(\beta\gamma\), which is simply \(p/m\).
Energy loss and Bethe-Bloch formula¶
The figure below shows the energy loss of a praticle (in this case a muon) traversing matter (in this case copper) as a function of momentum.

For low momenta the stopping power is high because the energy transfer to atomic electrons is maximised. For very high momenta nucleon collisions and mechanisms like pair production dominate. For a wide range of muon momenta between about 100 MeV and 100 GeV (note the double logarithmis scale) the energy loss function has a deep valley, which characterises a minimal ionising particle (MIP, or m.i.p.). This graph is taken from this paper which is part of the collection by the Particle Data Group (PDG). The full review of Passage of particles through matter tells you everything you might ever want to know about the topic and more.
Tables 5, 6 and 7 of this paper have parameters of these curves listed for various elements and compound materials. Computer readable versions of these tables are given in the folder for Week 3 on Moodle. The Python tutorial for week 2 and the coding quiz for week 3 show you how you can convert the files into dictionaries.
Note that the energy loss is normalised to the material itself and has the density of the material taken out. This is called the mass stopping power and has units \(MeV cm^2 / g\). When you want to know the enrgy loss in, e.g. a solid block of copper, you have to combine the mass stopping power with the density of copper found in the table so that you get the units [MeV/cm], i.e. MeVs of lost energy per cm travelled through copper.
There are two ways to determine the energy loss of a particle in a material. The first one is to code the full Bethe-Bloch formula. All the material properties are encoded in \(Z\), \(A\) and the mean excitation energy \(I\) of the material. Bloch derived that a good approximation is \(I=10 eV * Z\) for a wide range of \(Z\). The main deviation from this approximation is for \(Z<20\). The rest of the Bethe-Bloch formula contains only physical constants and properties of the projectile (mass, charge and relativistic factors). An example of the code for Bethe-Bloch can be found in question 4 of the coding quiz for week 3.
An alternative way is to parametrise the energy loss as a function of particle energy for each material. The paper cited above gives the functional form as \(dE/dx(E) = a(E) + b(E)*E\), with \(E_{\mu c} = a / b\) with the tables providing the information to determine a(E) and b(E).