Advanced Example stim_pixe_tomography


Responsible Geant4 Collaborator: Claire Michelet, Universite’ de Bordeaux/LP2I Bordeaux, France.

Developers: Zhuxin Li and Ngoc Hoang Tran, Universite’ de Bordeaux/LP2I Bordeaux, France.

Short description

Proton microbeams of a few MeV are widely used for the imaging and quantitative analysis of microscopic samples of a few ten or hundred micrometers in size, with a wide field of applications.

Scanning Transmission Ion Microscopy tomography (STIM-T) and Particle-Induced X-ray Emission tomography (PIXE-T) are techniques to determine the three-dimensional content of microscopic samples.

STIM-T aims to determine the distribution of the mass density of analyzed sample, PIXE-T to reveal the chemical content (in g/cm^3 ). The stim_pixe_tomography advanced example is developed at LP2IB, France, to simulate three dimensional STIM or PIXE tomography experiments.

The simulation results are written in a binary file and can be easily accessed using the provided scripts.

Principle of STIM tomography

The purpose of STIM Tomography is to obtain a 3D image of the region of interest of the sample, in terms of mass density distribution. With this aim, the proton beam (typically of a few MeV) scans the area of interest.

In the simulation, when the scan at a given projection is completed, the beam is rotated with a small angle around the vertical (z) axis. Then, the beam scan is perfomed again and another projection is acquired. The protons are collected in the forward direction, i.e. at 0° with respect to the direction of the incident beam, as represented in Figure 1(a). The residual energy of protons after traversing the sample is measured. The energy loss is directly related to the thickness of the material for a given projection and can be converted to the areal density in g/cm^2 .

Considering all the projections for the analyzed volume, the distribution of mass density is then obtained using a tomographic reconstruction algorithm.

Principle of PIXE tomography

The purpose of PIXE Tomography is to obtain a 3D image of the region of interest of the sample, in terms of element mass density distribution. With this aim, we collect the X-rays emitted by the atoms following the ionization by the incident protons. Since the emission of X-rays is isotropic, the detector could be in principle placed at any angle around the sample. In practice, the detector is usually placed at a backward angle, e.g., 135° relative to the proton beam direction (Figure 1 (b)). The X-rays energies are characteristic of the elements from which they were emitted. The X-ray yield depends on the element content, more precisely, the areal density (g/cm^2 ). Based on the areal density, a tomographic algorithm is used to determine the elemental mass density (g/cm^3).

stim_t and PIXE_t principles
Figure 1: Geometry of the simulation set-up: (a) STIM, (b) PIXE.

Collection of simulated data

Considering the rather long execution time of a simulation, spanning from a few hours to several weeks, our example was designed so that we do not have to repeat the simulation if we wish to change the position of the detector. For this, the detector is not modelled in the simulation. Instead, we collect the particles of interest in all directions (4π solid angle) via the TrackingAction and StackingAction classes. All the collected particle data are saved in a binary file. Then, the detector is modeled in post-processing, by selecting appropriately the particles to be collected by the detector. Specific C scripts in ROOT are provided with the example to perform this selection.

Main steps to run a simulation

Step 1: construct the numerical phantom with explicit density and composition in the DetectorConstruction class. Three numerical phantoms are available:

  • A simple cube of uniform density and composition;
  • The upper part of a C. elegans a worm;
  • A typical Inertial Confinement Fusion (ICF) target.

Step 2: define the scan parameters and proton beam information in the GPSPointLoop.C ROOT file, which will automatically calculate the positions and directions of the scan beam. Those positions and directions are written in a macro file, which will be used to run a simulation.

  • Scan parameters contains the number of projections, slices and pixels.
  • Proton beam information includes the energy and number of protons.

Selection of simulated data after a simulation

After finishing a simulation, the detection process is modelled by making a selection of simulation output data considering the geometry of detection. The selection is performed using a specific C script provided with the example. Different methods of selection are available. For more information, please refer to the User Guide.


Michelet C, Li Z et al. A Geant4 simulation of X-ray emission for three-dimensional proton imaging of microscopic samples. Phys Med. 2022; 94:85-93.

Last updated: 25/05/2023 by S. Guatelli