Physics List Guide
The Physics List is one of the three mandatory user classes of the Geant4
toolkit. In this class all Geant4 particles and their interaction
processes should be instantiated. This class should inherit from
the base class G4VUserPhysicsList
and should be given to G4RunManager:
G4MTRunManager* runManager = new G4MTRunManager;
runManager->SetUserInitialization(physicsList);
Here physicsList
is a pointer to the user defined class.
Initially [eal03],
it was proposed for users to create custom class based on variants
of PhysicsList in Geant4 example applications. After first Geant4
official releases, a conception of reference Physics Lists
was introduced [eal06]. In the beginning, the default
Geant4 Physics List was QGSP_BERT [eal09]. Since the Geant4 release 10.0
the default Physics List becomes FTFP_BERT [eal16].
The main advantage of working with the reference Physics List is
in common method of instantiation of physics objects in Geant4 tests,
in Geant4 examples, and in user applications. Geant4 developers develop and validate
these physics configurations and any user or group of users may reproduce
the same physics in their Geant4 applications. Geant4
developers establish various tests and benchmarks, which are used
for validation and verification of the Geant4 toolkit before making a new public
version. Users may compare
results obtained in the same conditions in different setups.
Number of reference Physics Lists is not small, because there are many alternative
physics models in the toolkit applicable for simulation of very different problems.
Reference Physics Lists are available in
Geant4 physics_list
sub-library. All these classes inherit from
virtual interface G4VModularPhysicsList
(which is an extension of
the base class G4VUserPhysicsList
. The advantages of the modular design
are in maintenance of modules by different Geant4 working groups,
independent development of particular modules, possibility for
combining of various modules (following G4VPhysicsConstructor
interface)
in reference Physics Lists and in user custom Physics Lists. There are
following types of modules:
electromagnetic physics;
extra physics processes for gamma and leptons;
decay;
hadron elastic;
hadron inelastic;
stopping particles capture processes;
ion nuclear interactions;
step limiters;
others.
The last category may include any type of physics processes, for example,
optical, exotic physics, thermal neutron transport model, and others.
A user may customise reference Physics List using following interfaces
of the G4VModularPhysicsList
class:
void RegisterPhysics(G4VPhysicsConstructor* );
void ReplacePhysics(G4VPhysicsConstructor* );
void RemovePhysics(G4VPhysicsConstructor* );
The following reference Physics Lists are available in the physics_lists
sub-library:
FTFP_BERT_ATL
FTFP_BERT_HP
FTFP_BERT_TRV
FTFP_INCLXX
FTFQGSP_BERT
FTF_BIC
LBE
NuBeam
QBBC_ABLA
QGSP_BERT_HP
QGSP_BIC_AllHP
QGSP_BIC_HP
QGSP_BIC_HPT
QGSP_FTFP_BERT
QGSP_INCLXX
QGS_BIC
ShieldingLEND
These Physics List classes may be included directly to the user code.
It is also possible instantiate reference Physics List by name using helper class
G4PhysListFactory
. Variants of usage of this helper class are
demonstrated in Geant4 extended examples:
geant4/examples/extended/hadronic/Hadr00.cc
- for multi-threaded mode;geant4/examples/extended/hadronic/Hadr01.cc
- for sequential mode.
In the case of usage of this helper class, an additional possibility does exist
to extend electromagnetic physics configuration by simply adding an extension to
a physics list name, for example FTFP_BERT_EMZ
means , that the default
electromagnetic physics is substituted by the configuration providing the most
accurate simulation of electromagnetic physics
(see details in EM physics constructors).
Following extensions are available:
EMV
EM Opt1 less precise, but faster set of electromagnetic physics is used. Otherwise known as electromagnetic option 1.EMX
EM Opt2 less precise, but faster set of electromagnetic physics is used. Otherwise known as electromagnetic option 2.EMY
EM Opt3 it uses a set of EM processes with accurate simulation of gamma and charged particle transport. Only the Urban multiple scattering model is used for all charged particles and all energies. Also known as electromagnetic option 3, the detailed physics causes longer execution times than the standard package.EMZ
EM Opt4 the best set of electromagnetic physics models selected from the low energy and standard packages. With its concentration on the best possible physics, electromagnetic option 4 is slower than the standard EM package.LIV
EM Liv is made on top of electromagnetic option 3 by substitution of standard models for gamma and electrons from Livermore set of models.PEN
EM Pen is made on top of electromagnetic option 3 by substitution of standard models for gamma, electrons and positrons from Penelope-2008 set of models._GS
EM GS is made on top of the default electromagnetic configurations by substitution of the Urban multiple scattering model for electrons and positrons by the Goudsmit-Saunderson model._LE
EM LE is made on top of the default electromagnetic configurations by substitution of the Urban multiple scattering model for electrons and positrons by the LowEWentzelVI model. Also, using 5D gamma conversion model and Lindhard-Sorensent model for ion ionisation.WVI
EM WVI is made on top of the default electromagnetic configurations by substitution of the Urban multiple scattering model for electrons and positrons by the WentzelVI model and ATIMA ion ionisation model._SS
EM SS is made on top default electromagnetic configurations by substitution of all multiple scattering models by single scattering models.
The additions on top of any reference Physics list may be implemented via the ReplacePhysics interface:
G4RadioactiveDecayPhysics
G4NeutrinoPhysics
G4ChargeExchangePhysics
G4OpticalPhysics
For those using shared object libraries, the extensible physics list factory
g4alt::G4PhysListFactory
is an option. This factory extends the capability of
the original factory and can be substituted in by changing the include header
and adding using namespace g4alt
. This code is demonstated in the
extended example.
geant4/examples/extended/physicslists/extensibleFactory
This factory is different from the one described above by allowing one’s own
custom physics lists to be registered with the factory, as well as allowing
for the customization of physics lists with physics constructors. The later
uses “_
” for ReplacePhysics()
and “+
” for RegisterPhysics()
,
such that valid physics lists might look like:
FTFP_BERT_HP_EMZ+G4RadioactiveDecayPhysics
which starts with a standard physics listFTFP_BERT_HP
, substitutes theEMZ
electromagnetic configuration, and adds radioactive decay.MySpecialPhysList_GS+G4OpticalPhysics+G4NeutronTrackCut
which uses a pre-registered custom build physics list, substitutes_GS
EM physics, and addsG4OpticalPhysics
andG4NeutronTrackCut
.
Bibliography
- eal06
J. Allison et al. Geant4 developments and applications. IEEE Transactions on Nuclear Science, 53:270–278, feb 2006. URL: http://ieeexplore.ieee.org/document/1610988/?reload=true, doi:10.1109/TNS.2006.869826.
- eal16
J. Allison et al. Recent developments in geant4. Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment, 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
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.
- eal03
S. Agostinelli et al. Geant4—a simulation toolkit. Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment, 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.