Simulating Positron Annihilation
Table of Contents
Overview
In a PET simulation, positron annihilation is the central physical process that links the radioactive source to the 511 keV photons detected in coincidence. In Geant4 you do not normally program the annihilation itself. Instead, you configure the primary particle and physics list so that Geant4 transports the positron until it slows down and then invokes the built in annihilation process. This chapter focuses on how to set up and control that behavior in the context of a PET scanner simulation.
From Positron Source to Annihilation
Once you have a positron source defined, each primary positron follows a sequence: it is generated, transported through matter, slows down by losing energy, and finally annihilates with an electron. In Geant4 this entire chain is handled by the physics list and the tracking system, not by manual code.
Your PET example should already include a positron source defined in the primary generator. When a run starts, Geant4 creates an event with a primary track representing the positron. The tracking and stepping managers then propagate this track step by step through your scanner geometry. At every step the relevant physical processes associated with positrons are considered. These processes include ionization and bremsstrahlung that reduce the kinetic energy, and annihilation that terminates the positron and generates secondary photons.
You do not need to tell Geant4 “annihilate now.” Instead, you must ensure that the chosen physics list includes the standard positron processes. Once this is true, annihilation will occur automatically when the positron’s energy and environment satisfy the conditions for annihilation in the underlying models.
Positron Interactions and Annihilation in Physics Lists
For a PET simulation, a reference physics list such as FTFP_BERT or QGSP_BIC_EMY already includes positron definitions and their electromagnetic processes. In particular, the electromagnetic physics builder attaches a $e^{+}$ annihilation process to the positron particle type.
Internally Geant4 provides a positron definition and links it to a set of processes during physics initialization. The positron has an annihilation process that can act both in flight and at rest. In flight annihilation occurs when the positron still has nonzero kinetic energy, while annihilation at rest occurs when the positron has lost essentially all of its kinetic energy and comes to rest in matter. In many PET applications annihilation at rest dominates in soft tissue, but in-flight annihilation can also occur, slightly broadening the angular and energy distributions of the photons.
For PET simulations you must use a physics list that includes electromagnetic processes for positrons, including $e^{+}$ annihilation, otherwise no 511 keV photons will be generated and your detector will not see PET-like events.
The choice of physics list also influences how accurately positron slowing down and multiple scattering are modeled. This in turn affects the positron range and therefore the spatial distribution of annihilation points relative to the emission point of the radionuclide. If you are interested in high fidelity modeling of positron range blurring, select an electromagnetic physics option that is intended for precision rather than speed.
Annihilation at Rest and In Flight
Geant4 treats annihilation either at rest or in flight depending on the positron energy. Annihilation at rest is modeled as the interaction of a positron that has essentially zero kinetic energy with an electron at rest in the medium. In this simplest case two photons of exactly 511 keV are produced back to back in the center of mass frame of the $e^{+}e^{-}$ pair.
When the positron still has some kinetic energy at the moment of annihilation, the annihilation is considered “in flight.” In that case the center of mass of the $e^{+}e^{-}$ system moves relative to the lab frame. The photons are then not exactly 180 degrees apart in the lab, and their energies deviate slightly from 511 keV. Geant4 models this kinematic situation according to the chosen electromagnetic model. For most PET scanner simulations the effect is small but not negligible if you care about submillimeter spatial resolution or fine corrections to energy spectra.
In both cases Geant4 produces secondary photons. The standard model produces two photons in the dominant channel. There is also the possibility of three photon annihilation through an intermediate virtual photon state, but in typical Geant4 PET setups this rare channel is not modeled explicitly. The default behavior is therefore to generate two gamma photons per annihilation.
Two 511 keV Photons and Their Properties
In a PET scanner the “signature” of annihilation is a pair of photons with nominal energy of 511 keV each. In Geant4, when a positron annihilates at rest, two $G4Gamma$ particles are created as secondaries of the positron track. Each photon has kinetic energy $E_{\gamma} = 511\ \text{keV}$ and their momenta are opposite, so the total momentum is zero in the rest frame.
In the local laboratory frame, the important properties of the annihilation photons are:
Energy: For annihilation at rest, both photons are exactly 511 keV in the model. For in-flight annihilation, one photon can have slightly more and the other slightly less than 511 keV. The sum is always approximately $2 m_{e} c^{2}$, where $m_{e}$ is the electron mass.
Direction: At rest, the emission directions are exactly opposite. In practice, Geant4 draws a random direction on the unit sphere for one photon, and assigns the opposite direction to the partner. In flight, the flight direction of the center of mass introduces a small opening angle deviation from 180 degrees.
Origin position: The created photons start at the point where the positron track ended, which is the modeled annihilation point. This position is within a small distance from the original decay point of the radionuclide, given by the positron range in the medium. That range can be submillimeter for low energy positrons and several millimeters for higher energies.
In a PET simulation, each annihilation should produce two photons with total energy close to $2 \times 511\ \text{keV}$, and their emission directions should be nearly opposite. If your recorded events do not show this behavior, you should first check the positron physics and the sensitive detector logic.
These properties are not specified manually in user code. They result from the physics models and the conservation of energy and momentum in the annihilation process.
Accessing Annihilation Information in User Code
To study annihilation in your PET simulation you often want to inspect the annihilation point and the created photons. This can help with debugging or with analysis features such as estimating positron range or tagging true versus random coincidences.
Geant4 exposes this information through tracking and stepping. When a positron annihilates, its track receives a status indicating that it is stopped and killed, and secondary tracks for the photons are created at the same step. In a user stepping action you can query the current track and step, and access the list of secondaries that were produced in this step.
A typical strategy is:
Use a stepping action to look at each step of charged leptons.
When the current particle is a positron and the step created secondaries, inspect those secondaries.
If you find two gamma secondaries with energies close to 511 keV, interpret this step as an annihilation.
Record the global position and time of the step, along with IDs of the generated photons, if you want to correlate later with detector hits.
You can also use the event action to collect a higher-level summary for each event, for example, the annihilation point and the indices of subsequent detector hits that originated from that annihilation. For a realistic PET code, it is often sufficient to treat detector-level information alone, but explicit annihilation tagging can be very useful in validation studies, for example to distinguish between true, scattered, and random coincidences.
Controlling Annihilation Behavior in PET Studies
Although the core annihilation physics is built in, you still have a few ways to control how annihilation behaves effectively in your PET simulation.
The choice of material around the source region determines the density and composition of electrons, which influences the slowing down and range of the positron. Soft tissue like water results in a certain range distribution, while bone or dense materials change that distribution. If you place your positron source within a phantom or subject geometry, the material definition directly affects where annihilations occur.
The initial positron energy spectrum determined by the radionuclide and how you implement its decay also controls annihilation. For a realistic PET source you can choose to model full radioactive decay using Geant4’s radioactive decay module, which generates positrons with the correct continuous spectrum. Alternatively, for simplified studies, you might define a monoenergetic positron source. This will produce a positron range distribution that is not realistic, but can be useful for debugging or for controlled tests.
You can also adjust step limits or production cuts in your physics configuration. Very large step sizes may affect the spatial precision of where annihilations are computed, while extremely coarse cuts can change the detailed behavior of transport. For standard PET use, you can generally keep the reference physics list defaults, but if you are investigating fine spatial resolution, you might reduce cut values and check their impact on runtime.
When modifying physics cuts or material definitions, always verify that annihilation still produces the expected 511 keV photon pairs and that the annihilation spatial distribution remains physically reasonable for PET.
Through these controls you can tune the balance between realism and performance, depending on the goals of your PET simulation.
Relation to Coincidence Detection
Simulating positron annihilation is the prerequisite for coincidence detection in a PET scanner. Every coincidence event that you later identify in your detector crystals originates from an annihilation step that produced two photons. While coincidence handling is addressed in later sections, it is important to understand that the reliability of coincidence studies depends on a correct annihilation model.
If annihilations are modeled correctly, the resulting 511 keV photons traverse the detector ring, possibly undergoing Compton scatter or attenuation, and finally deposit energy in crystals. By tracing detector hits back to the photon tracks, and those photon tracks back to the annihilation step, you can validate that your coincidence selection logic picks pairs of hits that are truly associated with the same annihilation. This is especially valuable during development and debugging of the PET example.
In summary, in a PET simulation using Geant4 you rely on the standard positron annihilation physics to connect your positron source to the detectable 511 keV photon pairs. You do not code the annihilation explicitly, but you must choose and configure the physics and materials so that annihilation happens correctly and with the desired level of realism for your PET study.
Views: 9
KAHIBARO