A simple-to-use geant4-based application for linac simulation

Dear all,
I have developed an open-source code based on geant4.10.5 called g4linac_mt which facilitates the use of geant4 toolkit for the simulation of medical linear accelerator by using C++, Java and bash scripting. The hdf5c++ library has been used to produce phase space I/O routines based on hdf5 file format.

The code can be downloaded from:

Required dependencies for G4Linac_MT C++ code

Geant4.10.05 toolkit

ROOT data analysis framework (version 6.14.06)

gcc >= 5.4.0

cmake >= 3.13.2

HDF5 C++ API (hdf5-1.10.4)


Required dependencies for G4Linac_GUI Java-based application


I hope that geant4 developers will in near future contribute in the improvement of the present open source code.



Dear Jaafar,

Nice application. Please, could you explain what would you like to have in terms of contribution from Geant4 developers?

Thank you,

Kind regards
Susanna Guatelli susanna@uow.edu.au

1 Like

Dear Susanna,

Thank you for your interest in my code.

As minor contribution I want that the present code will be largely tested on many linac types for many configuration (particle source type, radiation field size, …) and for secondary neutron dose assessment.

As major contribution, I hope that the following features will be supported by the code:

  1. Incorporation of segmented DICOM Phantom into the code which can be created by ImageJ software from DICOM file, manipulated by segmentation editor and exported as XY Coordinates file contains four data (voxel id (along x,y,z) and label (each label is assigned to a unique material) ). The code need to have the ability to process XY coordinates file by converting it to a suitable format representing Geant4 geometry and material data.

  2. Porting the code to a GPU architecture in order to reduce dramatically it running CPU time.

  3. Developing required C++ routines required for using Quasi Monte Carlo ( Ex: fast Sobol sequence algorithm) in whole simulation of linac instead of Monte Carlo method which knows to produce data with a rapid convergence that is proportional to 1/N than the one of MC ( 1/ sqrt(N)). I have developed in few years ago, only a QMC generator (please see paper: https://journalcra.com/sites/default/files/issue-pdf/4327%20Download.pdf)



1 Like