Skip Ribbon Commands
Skip to main content


The concept of a physics list arises from the fact that Geant4 can not offer a single modeling algorithm to cover the entire energy domain from zero to the TeV scale, for all known processes and particles. Instead, a combination of ideas and approaches is typically used to perform a simulation task.

Let us offer a schematic view of the Geant4 modeling of the processes of particle passage through matter:

  • Physics Model = final state generator
  • Physics Process = cross section + model
  • Physics List = list of processes for each particle

The "patchwork" concept is especially true in the Geant4 hadronic physics domain: models are valid only over finite energy ranges, and there maybe competing models in the same range or one model maybe working better than the other for a specific group of particles, while its competitor may be better for other species. For this reason models have to be combined to cover the large energy range; every two adjacent models may have an overlap in their validity range. 

The graph on the right is a cartoon view of composition of the popular physics lists, as of Geant4.10.1.p02.
While the fabrication of a physics list is, in principle, a choice of a user, the toolkit is distributed with a number of pre-fabricated physics lists for the convenience of many user applications. These physics lists are supported by the Geant4 development team and can be recommended for specific physics tasks.

The Geant4 team offers highlights of the most up-to-date developments in its physics modeling domain; materials include highlights in several most advanced and popular physics lists.

Other physics lists that can be of interest to the FNAL scientific program include Shielding and the "_HP" family of lists, that employ high precision low energy neutron transport package.

The complete collection is described in the Reference Physics Lists part of the Geant4 documentation.

We highly recommend that users, especially new ones, start from using one of the standard physics lists, included in the Geant4 distribution.

However, based on the interests and needs of a specific project, a user may want to implement her or his own custom physics list; for this, one needs to be advised that such action will require knowing certain details, that are the focus of these materials.

We would strongly recommend that any custom option to a physics list starts from modifying one of the existing physics lists; pre-fabricated elements and components should be re-used and/or re-combined as much as possible.

Please be warned that composing a physics list entirely from scratch is not a simple procedure, and it may be prone to costly errors; specific expertise and familiarity with details might be necessary to avoid such mistakes.​

Geant4 basic documentation offers a brief introduction into the concept of the Geant4 PhysicsList and into the Geant4 Physics Processes is given in the User's Guide for Application Developers, in particular in the Section 2.5 and further in the Section 5.2.

As stated in Subsection 2.5.3, G4VUserPhysicsList is one of the mandatory objects needed to put together a Geant4 modeling application, as it registers all particles and physics processes needed in the simulation.

More technical details, including several elements of the software design philosophy and class diagrams, are given in the User's Guide for Toolkit Developers, in particular in Section 2.5.

Here we would like to add some technicalities on composing physics lists, with the focus on the aspects where the official Geant4 documents are sparse. Elements for Building Geant4 PhysicsLists are organized as follows: