How to match measurements cross-section

Geant4 Version: 4.11.2
Operating System: Ubuntu 22.04
Compiler/Version: g++ 11.4
CMake Version: 3.26.4

I am trying to set up a simulation of an ionization chamber.

First, I tried to obtain Geant4 cross-section data using TestEm0 to investigate the available physics.

But provided cross-sections seem to be very far from measured data from

For 100 keV electrons, TestEm0 returns only 84198.9 barn (emstandard_opt3) :

Can I fine-tune this example to make it behave more correctly?

Any suggestions are welcome!

P.S. emstandard_opt4 displays the next warning:

total*** G4PenelopeIonisationModel – WARNING ***
Penelope Ionisation model v2008 does not calculate cross section per atom
so the result is always zero. For physics values, please invoke
GetCrossSectionPerVolume() or GetMeanFreePath() via the G4EmCalculator


you cannot get total ionisation cross section from TestEm0, because majority of our Physics Lists use ionisation models based condensed history approach, so cross sections are restricted.

There are alternative approaches

  1. For liquid water there DNA sub-library and also Gold models
  2. For Silicon and few other materials - MicroElec models. In Geant4 11.2 MicroElec.
  3. For these models also PAI model may be used on top standard condensed history models (how to enable - see TestEm8

How any of above models may be used for computation of cross sections - one has to understand.


This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.