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_ATLFTFP_BERT_HPFTFP_BERT_TRVFTFP_INCLXXFTFQGSP_BERTFTF_BICLBENuBeamQBBC_ABLAQGSP_BERT_HPQGSP_BIC_AllHPQGSP_BIC_HPQGSP_BIC_HPTQGSP_FTFP_BERTQGSP_INCLXXQGS_BICShieldingLEND
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:
EMVEM Opt1 less precise, but faster set of electromagnetic physics is used. Otherwise known as electromagnetic option 1.EMXEM Opt2 less precise, but faster set of electromagnetic physics is used. Otherwise known as electromagnetic option 2.EMYEM 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.EMZEM 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.LIVEM Liv is made on top of electromagnetic option 3 by substitution of standard models for gamma and electrons from Livermore set of models.PENEM 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._GSEM 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._LEEM 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.WVIEM 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._SSEM 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:
G4RadioactiveDecayPhysicsG4NeutrinoPhysicsG4ChargeExchangePhysicsG4OpticalPhysics
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+G4RadioactiveDecayPhysicswhich starts with a standard physics listFTFP_BERT_HP, substitutes theEMZelectromagnetic configuration, and adds radioactive decay.MySpecialPhysList_GS+G4OpticalPhysics+G4NeutronTrackCutwhich uses a pre-registered custom build physics list, substitutes_GSEM physics, and addsG4OpticalPhysicsandG4NeutronTrackCut.
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.