gamma-ray interaction in germanium does not show effect of x-ray lines at all (should be big effect around 11 keV)

I have encountered a problem when trying to use the G4EmLivermorePhysics list with Geant4 standard exampleB1
(that I only slightly modified with another geometry for my purpose of simulating gamma-ray interactions in a Ge-crystal).

The output (with geant4.10.05-p01) shows a minimum threshold energy of 200 keV for the photoelectric effect as shown below.
This far exceeds the default of 250 eV specified in documentation:

phot: for gamma SubType=12 BuildTable=0
LambdaPrime table from 200 keV to 100 TeV in 61 bins
===== EM models for the G4Region DefaultRegionForTheWorld ======
LivermorePhElectric : Emin= 0 eV Emax= 100 TeV SauterGavrila Fluo

The process of my incorportation of the G4EmLivermorePhysics list was done in 3 major steps.

  1. In the default physics list geant4.10.05/geant4.10.05.p01/source/physics_lists/lists/src/
    the following lines were commented out

#include “G4EmStandardPhysics.hh”
#include “G4EmStandardPhysics_option4.hh”
// RegisterPhysics( new G4EmStandardPhysics(ver) );

The following lines were added

#include “G4EmLivermorePhysics.hh”
RegisterPhysics( new G4EmLivermorePhysics(ver) );

This did not affect the 200 keV lower threshold.

  1. Removed added lines from step 1 and added the lines

#include “G4EmLowEPPhysics.hh”
RegisterPhysics( new G4EmLowEPPhysics(ver) );

This did not affect the 200 keV lower threshold either.

  1. The final option was to try to manually set the energy range in the CutsTable
    in the file geant4.10.05/geant4.10.05.p01/source/run/src/
    by modifying

fCutsTable->SetEnergyRange(0.99*keV, 100.*TeV);


fCutsTable->SetEnergyRange(0.99*keV, 20.*MeV);

with the possibility that this change in dynamic range might result in a better computed lower energy boundary for the table dumped above.
However, this did not affect the 200 keV lower threshold either.

Does anyone know an effective way to force the lower energy threshold for the initialized photoelectric table applying the Livermore model
down to 1 keV instead of default 200 keV?

Your assistance in this matter would be much appreciated.


in all recent publications, PhysicalReferenceManuel, ApplicationDeveloperManuels we trying to remove any word about 250 eV energy limit of Livermore models, because in the code we never have this limit. All Livermore models work from threshold to maximum required energy. The accuracy of cross sections and final state are energy dependent but there are no limits. So, please, point out where you find out this 250 eV limit?

Also unclear where you get 200 keV threshold. It may be the default production threshold for electrons?

To study X-ray production, it is possible to use $G4INSTALL/examples/extended/electromagnetic/TestEm5, there is fluo.mac and pixe.mac macro files. You may add your own macro file and run this example without modification of C++ code.