KAHIBARO
Discord Login Register

35.6. Select the Physics List

Role of the Physics List in the Final Project

In the final project the physics list connects your high level simulation goal to the actual physics that Geant4 will simulate. It determines which particles exist, how they interact with materials, and how energy is transported and deposited in your detector. Even if your geometry and source are perfect, an inappropriate physics list can make your results physically meaningless.

You do not have to design physics processes from scratch. Instead, you choose and possibly lightly customize one of the reference physics lists provided by Geant4. For an absolute beginner project, the main task is to select a reasonable standard list that matches your goal, and to understand just enough about it to justify that choice in your project documentation.

Always document which physics list you used, including its exact name (for example FTFP_BERT) and Geant4 version. Changing the physics list can change your results significantly.

Matching Physics to Your Project Goal

Before choosing a physics list, restate your project goal in physics terms. Ask three simple questions.

First, which particle types are important? For example, gamma rays, electrons and positrons for electromagnetic detectors, or protons and neutrons for hadron therapy and shielding.

Second, which interaction types matter for your observable? For example, ionization and bremsstrahlung for charged particles, or Compton scattering and photoelectric effect for gamma rays.

Third, what energy range do you need? For instance, tens of keV for x ray imaging, a few MeV for nuclear gamma rays, or hundreds of MeV to GeV for collider or therapy beams.

Once you have these three answers, you can map them to one of the standard lists described below and justify your choice qualitatively in your final project report.

Common Reference Physics Lists for Final Projects

Geant4 offers several combined, pre configured physics lists. Here we focus on a few that are particularly relevant for detector simulations and are simple to use in a final project.

FTFP_BERT is a general purpose list for hadrons over a wide energy range. It combines the FTFP model at higher energies with the Bertini cascade at lower energies, and includes a standard electromagnetic package. It is well suited when you have both hadronic and electromagnetic interactions, for example proton beams in matter or cosmic ray like environments.

QGSP_BERT is another widely used general purpose list, historically common in many experiments. It uses a different high energy model (QGSP) but also includes the Bertini cascade and electromagnetic physics. It is reasonable for many applications, but for new work FTFP_BERT is usually preferred.

FTFP_BERT_HP extends FTFP_BERT with high precision models for low energy neutrons, down to thermal energies. If your project needs detailed neutron transport in shielding, reactors, or moderators, and you care about neutron spectra and capture, this list is more appropriate, although it is slower.

QGSP_BIC_HP is another hadronic list with high precision neutrons, using a different cascade model (binary cascade). It can be used if your supervisor or reference data recommends it, but for a final project you usually do not need to distinguish between these in depth.

For projects dominated by electromagnetic processes, such as gamma detectors or electrons in matter without significant nuclear reactions, you can also consider electromagnetic focused lists such as FTFP_BERT used as is, or a modular list that combines an electromagnetic package with a simple hadronic module. Pure EM reference lists exist, but for a beginner project, using a full combined list like FTFP_BERT is usually simpler because it already defines all common particles.

Pick one of the standard reference lists provided with Geant4, such as FTFP_BERT or FTFP_BERT_HP. Do not try to build a custom physics list from scratch in a first project unless specifically required.

Implementing the Physics List in Your Application

In the final project you typically implement the physics list in your ActionInitialization and main program by using the Geant4 factory for reference physics lists. The key idea is that instead of writing your own class derived from G4VUserPhysicsList, you create an instance of a pre defined list and pass it to the run manager.

A typical pattern looks like this in your main program:

cpp
#include "G4RunManagerFactory.hh"
#include "G4VModularPhysicsList.hh"
#include "G4PhysListFactory.hh"
// ...
auto* runManager = G4RunManagerFactory::CreateRunManager();
// Create the physics list using the factory
G4PhysListFactory factory;
G4VModularPhysicsList* physList = factory.GetReferencePhysList("FTFP_BERT");
// Register physics list with the run manager
runManager->SetUserInitialization(physList);

In the context of your project, this code usually appears together with the registration of your detector construction and action initialization classes. The only part you must adapt for the physics list selection is the string passed to GetReferencePhysList.

If you need to choose the physics list via a runtime parameter, for example from a configuration file or macro variable, you can store the list name in a string and pass it to the factory. This keeps your code flexible and allows you to compare two different lists without recompiling.

The string given to GetReferencePhysList must exactly match a known reference list name, such as "FTFP_BERT" or "FTFP_BERT_HP". A typo will cause Geant4 to fall back or fail at initialization.

Documenting and Justifying Your Choice

For the final project, the quality of your documentation is as important as the specific physics list you choose. You should include a short, clear explanation in your project report under the physics configuration section.

A simple structure for this explanation is:

  1. State the chosen physics list and Geant4 version, for example:
    "We used the reference physics list FTFP_BERT from Geant4 version 11.2."
  2. Link it to your physics goal, for example:
    "FTFP_BERT provides a general purpose combination of hadronic and electromagnetic physics that covers the energy range of our proton beam in water and models the electromagnetic shower of secondary particles."
  3. Mention any special requirements, for example:
    "High precision low energy neutron physics was not required, since our simulation focuses on charged particle dose in water."
  4. If you compared lists, briefly note the outcome, for example:
    "We cross checked a subset of runs with QGSP_BERT and found agreement within the expected statistical variations."

Be explicit about any limitations introduced by your choice. For example, if you did not use a high precision neutron extension in a shielding project, state that your neutron results are approximate and explain how this might affect conclusions.

In your final report, always connect the physics list choice to both your energy range and the quantities you analyze, such as dose, spectra, or transmission. This is a key part of a defensible simulation study.

Practical Checklist Before Running Large Jobs

Before you launch long productions for the final project, verify that your physics configuration behaves as expected with a small number of events. A short physics list checklist helps avoid mistakes.

First, confirm that the particles you expect are actually defined and transported. Inspect a few events with verbose tracking and visualization to see that gammas, electrons, and other secondaries appear where they should.

Second, check that the processes you rely on are active. Use Geant4 verbose output for processes to confirm that important interactions, such as ionization or Compton scattering, are listed for the relevant particles.

Third, validate that the energy range is covered. If you simulate very high or very low energies, make sure your chosen list is designed for that range, using the Geant4 physics reference as a guide.

Finally, perform a basic sanity check with a known quantity, for example a rough comparison of stopping range in water with published data. This does not replace full validation, but it can reveal glaring physics list mistakes before you invest time in full runs.

By following these steps and recording your decisions, you integrate the physics list into your final project in a way that is both technically correct and scientifically transparent.

Views: 10

Comments

Please login to add a comment.

Don't have an account? Register now!