Low Energy Electromagnetic Physics - Atomic Deexcitation

How to simulate atomic deexcitation ?

Atomic deexcitation (fluorescence, Auger electron emission, including Auger cascades since release 10.2 and PIXE) can be activated for processes producing vacancies in atomic shells. Currently these processes are the photoelectric effect, ionization and Compton scattering. This new feature is available for Livermore, Penelope, Standard electromagnetic, and Geant4-DNA processes.

In the recent MT releases of Geant4, the activation of atomic deexcitation in Geant4 physics lists (and "physics constructors") can be easily done directly via UI commands:

  /process/em/fluo true
  /process/em/auger true
  /process/em/augerCascade true
  /process/em/pixe true

These UI commands should be put BEFORE the UI command:


Note that fluorescence is activated by default in G4EmLivermorePhysics, G4EmLivermorePolarizedPhysics and G4EmPenelopePhysics physics constructors while Auger production and PIXE are not.

Important note on production cuts

Remember that production cuts for secondaries can be specified as range cuts, which are converted at initialisation time into energy thresholds for secondary gamma, electron, positron and proton production.

A range cut value is set by default to 0.7 mm in Geant4 reference physics lists. This value can be specified in the optional SetCuts() method of the user physics list or via UI commands, 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

If a range cut equivalent to an energy lower than 990 eV is specified, the energy cut is still set to 990 eV. In order to decrease this value (for eg. down to 250 eV, to see low energy emission lines of the fluorescence spectrum), one can use the UI command:

  /cuts/setLowEdge 250 eV

or alternatively directly in the user physics list, in the optional SetCuts() method, using:

  G4ProductionCutsTable::GetProductionCutsTable()->SetEnergyRange(250*eV, 1*GeV);

These 3 UI commands should be put BEFORE the UI command:


Note that a command is also available in order to disable usage of production threshold for fluorescence and Auger electron production:

  /process/em/deexcitationIgnoreCut true 

Important note on tracking

Since Geant4 10.2 release, in all ionization processes which simulate energy loss along step, a lowest energy limit is introduced which forces full energy deposition of electrons and positrons at a step independently on material. This value may be changed via a dedicated UI command or through the interface class G4EmParameters. The default value is 1 keV, but for the G4EmstandardPhysics_option3, G4EmstandardPhysics_option4, G4EmLivermorePhysics and G4EmPenelopePhysics constructors, this energy limit is set at 100 eV.

A different value (eg. X eV) can be specified using the UI command:

  /process/em/lowestElectronEnergy X eV

A similar command is available for muons and hadrons, see Geant4 documentation.

How to change ionisation cross section models ?

The user can also select which cross section model to use in order to calculate shell ionisation cross sections for generating PIXE.

When using the Geant4 physics lists (and "physics constructors"), the following UI command is available:

  /process/em/pixeXSmodel value   

where value is equal to Empirical or ECPSSR_FormFactor or ECPSSR_Analytical.

Shell cross sections models are available for K, L and selected M shells:

The Empirical models are the models used by default. Out of the energy boundaries of these models, the "ECPSSR_Analytical" models are used. We recommend to use default settings if not sure what to use.

Note that shell cross section selection is also available for electrons via the following UI command (needed only for simulations which make use of continuous ionisation process, like the low energy G4EmLivermorePhysics or G4EmPenelopePhysics constructors):

/process/em/pixeElecXSmodel Livermore


/process/em/pixeElecXSmodel Penelope

How to change the fluorescence data lines set ?

The alternative set of data by Bearden (1967) for the modelling of fluorescence lines had been added to the G4LEDATA archive, kindly provided by Stéphane Paltani, Geneva U., Switzerland. This set can be selected in any physics list with:


or using UI command:

/process/em/fluoBearden true 


As an example on how to simulate atomic deexcitation, please refer to the electromagnetic extended example TestEm5 and the pixe.mac macro.


For further details on atomic deexcitation, please refer to: