Introduction
The Geant4 set of electromagnetic (EM) physics processes and models [eal16, eal09, eal03, eal11] are used in practically all types of simulation applications including high energy and nuclear physics experiments, beam transport, medical physics, cosmic ray interactions and radiation effects in space. In addition to models for low and high energy EM physics for simulation of radiation effects in media, a sub-library of very low energy models was developed within the framework of the Geant4-DNA project, with the goal of simulating radiation effects involving physics and chemistry at the sub-cellular level [eal14].
EM physics sub-packages
In the early stages of Geant4, low and high energy electromagnetic processes were developed independently, with the result that these processes could not be used in the same run. To resolve this problem, the interfaces were unified so that the standard, muon, high energy, low energy and DNA EM physics sub-packages now follow the same design [eal11].
All Geant4 physical processes, including transportation, decay, EM, hadronic,
optical and others, were implemented via the unique general interface
G4VProcess
. Three EM process interfaces inherit from it via the
intermediate classes [eal09]:
G4VEnergyLossProcess
, which is active along the step and post step,G4VMultipleScattering
, which is active along the step,G4VEmProcess
, which is active post step and at rest.
These three base classes are responsible for interfacing to the Geant4 kernel, initializing the electromagnetic physics, managing the energy loss, range and cross sections tables, managing the electromagnetic models, and the built-in biasing options. These based classes are also responsible for managing of EM classes in the multi threaded mode of Geant4 [eal16]. Most part of EM internal data objects are shared between threads and are destructed end of run these data objects and all models.
A concrete physics process class
inherits from one of these base classes, and has
one or more physics models. EM physics models were implemented via the
G4VEmModel
interface. A model is applied for a defined energy range
and gclass{G4Region}, allowing, for example, one model from the low energy and
one from the high energy sub-package to be assigned to a process for a given
particle type. Each of these processes have following phases:
initial initialisation at time of construction, when the default set of EM parameters is defined;
possible modification of EM parameters by a user;
initialisation before the run, which includes preparation of tables with cross sections, energy losses, ranges, and other values;
initialisation of the main tables is carried out only in the master thread at the beginning of a run and these tables are shared between threads at run time;
run time access to the cross section or computation it by a selected model on-fly;
sampling of final state via the model;
destruction of EM objects at the end of simulation.
The EM model classes are responsible for concrete computations of cross
sections and for sampling of final state. If a model class has a private
objects, which does not inherit of the
G4VEmModel
interface, then deletion end of run of these objects is
a responsibility of this model class.
The EM process based classes select
a model for the given energy and
region and communicate with the Geant4 kernel in a generic way in all phases.
Migration to this common design resulted in an improvement of overall CPU performance, and made it possible to provide several helper classes which are useful for a variety of user applications:
G4EmParameters
: class which keep the set of EM parameters, which may be changed via C++ access methods or UI commands, the access is opened for all parameters in thePreInit
state of Geant4 and for part of parameters in theIdle
state;G4EmCalculator
: accesses or computes cross section, energy loss, and range;G4EmConfigurator
: adds extra physics models per particle type, energy, and geometry region;G4EmSaturation
: adds Birks saturation of visible energy in sensitive detectors;G4ElectronIonPair
: samples ionisation clusters in tracking devices.
Further improvements were made through the factorization of secondary energy and
angle sampling. G4VEmAngularDistribution
common interface allows
the reuse of angular generator code by models in all EM sub-packages. The
implementation of a unified interface for atomic de-excitation,
G4VAtomDeexcitation
provides the possibility of sampling atomic
de-excitation by models from all EM sub-packages.
Bibliography
- eal16(1,2)
J. Allison et al. Recent developments in geant4. Nucl. Instr. and Meth. in Phys. Research Section A, 835:186–225, nov 2016. URL: https://doi.org/10.1016/j.nima.2016.06.125, doi:10.1016/j.nima.2016.06.125.
- eal09(1,2)
J. Apostolakis et al. Geometry and physics of the geant4 toolkit for high and medium energy applications. Radiation Physics and Chemistry, 78(10):859–873, oct 2009. URL: https://doi.org/10.1016/j.radphyschem.2009.04.026, doi:10.1016/j.radphyschem.2009.04.026.
- eal14
M. Karamitros et al. Diffusion-controlled reactions modeling in geant4-DNA. Journal of Computational Physics, 274:841–882, oct 2014. URL: https://doi.org/10.1016/j.jcp.2014.06.011, doi:10.1016/j.jcp.2014.06.011.
- eal03
S. Agostinelli et al. Geant4—a simulation toolkit. Nucl. Instr. and Meth. in Phys. Research Section A, 506(3):250–303, jul 2003. URL: https://doi.org/10.1016/S0168-9002(03)01368-8, doi:10.1016/s0168-9002(03)01368-8.
- eal11(1,2)
V.Ivantchenko et al. Recent improvements in geant4 electromagnetic physics models and interfaces. Progress in Nuclear Science and Technology, 2:898–903, 2011. URL: http://dx.doi.org/10.15669/pnst.2.898.