Problem 2439

Summary: Alpha Particle Range in G4_AIR Differs Significantly for Different EM Physics Lists
Product: Geant4 Reporter: John McFee <jemcfee>
Component: physics_listsAssignee: Gunter.Folger
Status: RESOLVED DUPLICATE    
Severity: major CC: Vladimir.Ivantchenko
Priority: P4    
Version: 10.7   
Hardware: PC   
OS: Linux   
Attachments: TestEM0_alpha_ranges.txt
TestEM1_alpha_ranges.txt

Description John McFee 2021-10-21 08:13:51 CEST
Created attachment 736 [details]
TestEM0_alpha_ranges.txt

While investigating a problem on the Geant4 forum ("Neutron Absorption in G4-AIR seems to high" in Geometry, Fields and Transportation category), I noticed that the calculated ranges of 5.5 MeV alpha particles in NIST Material G4_AIR vary with different electromagnetic physics lists. This variation is not observed when the user constructs a material ("Air") with the same density and elemental composition as G4_AIR. 

The problem described occurs for Geant4 10.7.2 (on a Fedora 34 Linux operating system). More specifically, I have run the programs TestEm0 and TestEm1 taken from the distribution extended examples. I have used the following input macro for TestEm0 for each of the EM physics lists G4EmStandardPhysics_option0, 1, 2, 3, 4, G4EmPenelopePhysics and G4EmLivermorePhysics (for each separate run - all but one commented out):
==============================================================================
#
# Macro file for "TestEm0.cc"
#
/control/verbose 0
/run/verbose 1
#
###/testem/phys/addPhysics local
#/testem/phys/addPhysics emstandard_opt0
/testem/phys/addPhysics emstandard_opt1
#/testem/phys/addPhysics emstandard_opt2
#/testem/phys/addPhysics emstandard_opt3
#/testem/phys/addPhysics emstandard_opt4
#/testem/phys/addPhysics empenelope
#/testem/phys/addPhysics emlivermore
#
/process/eLoss/verbose 0
#
/run/initialize
#
/gun/particle alpha
/gun/energy 5.5 MeV
#
/testem/det/setMat Air
/run/beamOn 
#
/testem/det/setMat G4_AIR
/run/beamOn 

===============================================================================

I have used the following input macro for TestEm1 for each of the EM physics lists G4EmStandardPhysics_option0, 1, 2, 3, 4, G4EmPenelopePhysics and G4EmLivermorePhysics (for each separate run - all but one commented out and one of either the /testem/det/setMat Air or the /testem/det/setMat G4_AIR lines commented out):

===============================================================================
#
# Macro file for "TestEm1.cc"
#
/control/verbose 0
/run/verbose 1
#
###/testem/phys/addPhysics local
#/testem/phys/addPhysics emstandard_opt0
#/testem/phys/addPhysics emstandard_opt1
#/testem/phys/addPhysics emstandard_opt2
#/testem/phys/addPhysics emstandard_opt3
#/testem/phys/addPhysics emstandard_opt4
#/testem/phys/addPhysics empenelope
/testem/phys/addPhysics emlivermore
#

/testem/det/setMat Air
#/testem/det/setMat G4_AIR 
/testem/det/setSize 5 cm
#
/run/initialize
#
/testem/gun/setDefault 
/gun/particle alpha
/gun/energy 5.5 MeV
#
/analysis/setFileName julian1 
/analysis/h1/set 1 100 0  5 cm        #track length of primary
#
/run/beamOn 10000
==============================================================================

I have modified the DetectorConstruction.cc file of each program to make material 'Air' match the elemental and density properties of 'G4_AIR':

  G4Material* Air = 
  new G4Material("Air", density= 1.20479*mg/cm3, ncomponents=4);
  Air->AddElement(N, fractionmass=75.5268*perCent);
  Air->AddElement(O, fractionmass=23.1781*perCent);
  Air->AddElement(C, fractionmass=0.0124*perCent);
  Air->AddElement(Ar, fractionmass=1.2827*perCent);

The two attached text files [TestEM0_alpha_ranges.txt, TestEM1_alpha_ranges.txt] are tables that summarize the ranges for TestEm0 and TestEm1 for 5.5 MeV alpha particles respectively. 

In short, all the physics lists except for emstandard_opt3,4 give roughly the same range for 'Air' and 'G4_AIR' and which roughly agree with widely accepted value of 4.476 cm from the Stopping and Range of Ions in Matter program SRIM-2008.04 (J. F. Ziegler, M. D. Ziegler, J. P. Biersack 2008) and the widely accepted value of ~4.05 cm for air at 15 degrees C temperature, 760 mm Hg pressure, equivalent to a density of 1.225 mg/cm3 (Radiological Health Handbook, US Dept of Health, Education and Welfare, 1970). (Note that G4_AIR density is 1.20479 mg/cm3.)

Unfortunately, the ranges for emstandard_opt3,4 in G4_AIR are much smaller than the accepted values, being roughly 0.75 cm to 0.78 cm for TestEm0 and 0.93 cm for TestEm1.

This is a serious problem, since alpha particles are ubiquitous in simulation of experiments and poor estimation of their ranges can cause serious errors.

It is not clear how far back in version number this problem goes.
Comment 1 John McFee 2021-10-21 08:14:42 CEST
Created attachment 737 [details]
TestEM1_alpha_ranges.txt
Comment 2 Vladimir.Ivantchenko 2021-10-21 12:25:01 CEST
Hello,

thank you for the detailed report. The problem was reported in 2414, it is fixed and the fix will be available with the next public release and the next patch to 10.7. In a mean time disable ICRU90 flag in your applications:

/process/eLoss/UseICRU90 false

VI
Comment 3 Gabriele Cosmo 2021-10-25 10:37:26 CEST

*** This problem has been marked as a duplicate of problem 2414 ***