Livermore low-energy electromagnetic models describe the interactions of electrons and photons with matter down to about 250 eV (close to the K-shell Auger peak from C) using interpolated data tables based on the Livermore library.
Design of Physics process and model classes
The software design has been adopted by the Standard Electromagnetic Physics working group in 2006. A single Physics process can handle several models which are registered to the process.
- All photon model classes derive from the G4VEmModel abstract base class. They use the naming format: G4LivermoreYYYModel, where YYY is the model name (for eg. G4LivermoreComptonModel for Compton scattering). Several methods are implemented :
- G4LivermoreYYYModel::Initialise(...) : model initialisation
- G4LivermoreYYYModel::ComputeCrossSectionPerAtom(...) : computation of model total cross section
- G4LivermoreYYYModel::SampleSecondaries(...) : computation of model final state
Available Physics processes and models
We indicate in the table below the Livermore Physics models and particles available in the Geant4 toolkit, as well as their energy range of applicability. Default process names as displayed by tracking are also given.
|Physics process||Process class||Model class||Recommended low enery applicability limit of model (*)||High enery applicability limit of model||Process name (#)|
|Photo-electric effect||G4PhotoElectricEffect||G4LivermorePhotoElectricModel||250 eV||100 GeV||phot|
|Polarized photo-electric effect||G4PhotoElectricEffect||G4LivermorePolarizedPhotoElectricModel||250 eV||100 GeV||phot|
|Compton scattering||G4ComptonScattering||G4LivermoreComptonModel||250 eV||100 GeV||compt|
|Polarized Compton scattering||G4ComptonScattering||G4LivermorePolarizedComptonModel||250 eV||100 GeV||compt|
|Rayleigh scattering||G4RayleighScattering||G4LivermoreRayleighModel||250 eV||100 GeV||Rayl|
|Polarized Rayleigh scattering||G4RayleighScattering||G4LivermorePolarizedRayleighModel||250 eV||100 GeV||Rayl|
|Conversion||G4GammaConversion||G4LivermoreGammaConversionModel||1.022 MeV||100 GeV||conv|
|Polarized conversion||G4GammaConversion||G4LivermorePolarizedGammaConversionModel||1.022 MeV||100 GeV||conv|
|Ionisation||G4eIonisation||G4LivermoreIonisationModel||10 eV||100 GeV||eIoni|
|Bremsstrahlung||G4eBremsstrahlung||G4LivermoreBremsstrahlungModel||10 eV||100 GeV||eBrem|
(*) The models are applicable down to the binding energy of corresponding atomic shells (values are taken from the EADL database), but accuracy is not guaranteed.
(#) We indicate for information the process name as it would be displayed in stepping verbose mode, for example with the instruction:
Example physics list
- Please check the following section, which suggests our reference Physics lists, based on the usage of Physics constructors . Two Physics constructors are available:
- G4EmLivermorePhysics including unpolarized gamma models
- G4EmLivermorePolarizedPhysics including polarized gamma models
How to access Physics ?
It is possible to retrieve Physics quantities using a G4EmCalculator object.
For example, in order to retrieve the total cross section of a PHOTON process with name "procName", do as follows :
#include "G4EmCalculator.hh" ... G4EmCalculator emCalculator; G4double density = material->GetDensity(); G4double massSigma = emCalculator.ComputeCrossSectionPerVolume(energy,particle,procName,material)/density; G4cout << G4BestUnit(massSigma, "Surface/Mass") << G4endl;
A good example is TestEm14 located in $G4INSTALL/examples/extended/electromagnetic, look in particular at the RunAction.cc class
How to simulate atomic deexcitation?
Follow this page.
Remember that production cuts for secondaries can be specified as range cuts, which at initialisation time are converted into energy threshold for secondary gamma, electron, positron and proton production.
1) Range cut value is set to 0.7 mm in Geant4 reference Physics Lists. This value can be specified in the optional SetCuts() method of your Physics list or via UI command, for eg. to set a range cut of 10 micrometers, one can use:
/run/setCut 0.01 mm
or for a given particle type (for e.g. electron)
/run/setCutForAGivenParticle e- 0.01 mm
2) Since not all Geant4 models are able to work with very low production thresholds, an energy threshold limit is used, its default value is set to 990 eV. You can change this value (for eg. to 250 eV) by using the UI command:
/cuts/setLowEdge 250 eV
or alternatively directly in your Physics list in the optional SetCuts() method with:
Documentation of Livermore models
Full documentation on the low energy electromagnetic package is available from :
- Geant4 Physics Reference Manual.
- Geant4 User's Guide For Application Developers.
- Link to EPDL97 database.
- Geant4 developments and applications, Nucl. Instrum. and Meth. A 835 (2016) 186-225
- Validation of the Geant4 simulation of bremsstrahlung from thick targets below 3 MeV, L. Pandola, C. Andenna, B. Caccia, Nucl. Instrum. and Meth. B 350 (2015) 41-48
- Validation of the Geant4 electromagnetic photon cross-sections for elements and compounds, G. A. P. Cirrone, G. Cuttone, F. Di Rosa, L. Pandola, F. Romano, Q. Zhang, Nucl. Instrum. and Meth. A 618 (2010) 315-322
- Measuring polarization in the x-ray range: simulation for the impact gas mixture and pressure in gaseous detectors, G. O. Depaola, G. N. Leguizamon, X-ray Spectrometry 38 (2009) 519-525
- Angular distribution for the electron recoil in pair production by linearly polarized γ- rays on electrons, G. O. Depaola, Nucl. Instr. Meth. A 611 (2009) 84-92
- New Monte Carlo method for Compton and Rayleigh scattering by polarized gamma rays, G. O. Depaola, Nucl. Instr. Meth. A 512 (2003) 619-630
- Detection of Gamma Ray Polarization Using a 3-D Position-Sensitive CdZnTe Detector, D. Xu, Z. He, F. Zhang, IEEE Trans. Nucl. Sci. 52 (2005) 1160-1164