Physical Processes & Range cuts

Physical Processes

The photon processes impletemented are:

  • Compton scattering

  • Photoelectric effect

  • Rayleigh scattering

Each of these processes are extracted from Geant4 version 10.6. For more informations about physics, please read the documentation on the Geant4 website.

By using python, the singleton can be called with the following command:

processes_manager = GGEMSProcessesManager()

Important

Secondary particles (photon and electron) are not simulated yet. For Photoelectric effect, the photon is killed during the interaction and the energy is locally deposited, the fluorescence photon is not emitted.

Compton Scattering

The Geant4 model extracted is the ‘G4KleinNishinaCompton’ standard model. It is the fastest algorithm to simulate this process. Compton scattering is activated for all the navigators, or for a specific navigator.

# Activating Compton process for all navigators
processes_manager.add_process('Compton', 'gamma', 'all')

# Activating Compton process for a specific navigator name 'my_phantom'
processes_manager.add_process('Compton', 'gamma', 'my_phantom')

Photoelectric Effect

The Geant4 model extracted is the ‘G4PhotoElectricEffect’ standard model using Sandia tables. Photoelectric effect is activated for all the navigators, or for a specific navigator.

# Activating Photoelectric process for all navigators
processes_manager.add_process('Photoelectric', 'gamma', 'all')

# Activating Photoelectric process for a specific navigator name 'my_phantom'
processes_manager.add_process('Photoelectric', 'gamma', 'my_phantom')

Rayleigh Scattering

The Geant4 model extracted is the ‘G4LivermoreRayleighModel’ livermore model. Rayleigh scattering is activated for all the navigators, or for a specific navigator.

# Activating Rayleigh process for all navigators
processes_manager.add_process('Rayleigh', 'gamma', 'all')

# Activating Rayleigh process for a specific navigator name 'my_phantom'
processes_manager.add_process('Rayleigh', 'gamma', 'my_phantom')

Process Parameters Building

Cross sections are calculated during GGEMS initialization. The parameters for calculating the cross sections can be modified, but it is recommended to use the default ones. The parameters that can be modified are:

  • Minimum energy of cross-section table

  • Maximum energy of cross-section table

  • Number of bins in cross-section table

Default parameters are defined as following:

processes_manager.set_cross_section_table_number_of_bins(220)
processes_manager.set_cross_section_table_energy_min(1.0, 'keV')
processes_manager.set_cross_section_table_energy_max(1.0, 'MeV')

Process Verbosity

Some informations about processes can be printed:

  • Available processes

  • Global informations about processes

  • Cross-section values

The list of commands are:

processes_manager.print_available_processes()
processes_manager.print_infos()
processes_manager.print_tables(True)

Range Cuts

Cuts are defined for each particle in distance unit in a navigator or a specific navigator. During initialization cuts are converted in energy for each material in navigator. If the particle energy is below the cut, then this one is killed and the energy is locally deposited. By default cuts are 1 micron.

# For photon and all navigators
range_cuts_manager.set_cut('gamma', 0.1, 'mm', 'all')

# For photon and a specific navigator named 'my_phantom'
range_cuts_manager.set_cut('gamma', 0.1, 'mm', 'my_phantom')