Issue when loading cross section data from G4EMLOW8.2


I tried to load cross section data from geant4/share/Geant4/data/G4EMLOW8.2/epics2017/comp/ce-cs-* using :

G4CrossSectionHandler* CrossSectionHandlerCompton = new G4CrossSectionHandler;

However the program has been blocked during the loading. I did not get this issue when i tried to load comp/ce-cs- . I opened the files in order to check what was the differences and it appears that the files from epics2017 (but also from livermore) have a additional line in the beginning which seems to create this bug when we try to load the data :

from G4EMLOW8.2/epics2017/comp/ce-cs-100.dat :

1.000000000e-06 1.000000000e+05 388
1.000000000e-06 2.552900000e-12
1.059248390e-06 3.034121681e-12
1.105977190e-06 3.453668151e-12
1.142371710e-06 3.805994131e-12
1.199221310e-06 4.402989009e-12

from G4EMLOW8.2/comp/ce-cs-100.dat :

1.000000e-06 2.552900e-06 
1.258900e-06 4.046100e-06 
1.584900e-06 6.412600e-06 
1.995300e-06 1.016300e-05 
2.511900e-06 1.610800e-05 

It the same for the folder rayl,phot,pair which are no more per default in G4EMLOW8.2 so we need to load them from epic_2017 or livermore.

Is someone know what this first line mean and why rayl,phot,pair are no more in G4EMLOW8.2 like precedent version ?

see for the example the content of G4EMLOW6.48 :

auger          dna            History            msc_GS    photoelectric_angular
brem           doppler        ioni               pair      pixe
brem_SB        estar          ion_stopping_data  pairdata  rayl
charge_transf  fluor          livermore          penelope  README
comp           fluor_Bearden  microelec          phot      tripdata


G4CrossSectionHandler is not fit to read or load the compton cross-section data.

A data file is composed of two header lines + data lines (two columns).

For two header lines in the beginning of a data file: representing

line 1: minimal energy; maximal energy; number of energy-cross points

line 2: number of energy-cross points

For data lines: energy (1st column); cross-section (2nd column)

Note that sometimes the second column is not only cross-section, it could be the production of energy and cs, depending on specific process.

If you really want to load data, refer to G4LIvermoreComptonModel
In G4LIvermoreComptonModel::ReadData() method, G4PhysicsFreeVector is used to load the data by calling Retrieve() method

Lastly, data under G4EMLOW8.2/epics2017 or G4EMLOW8.2/livermore path are only used for Livermore models.

Thank you for your response. I wanted to use G4CrossSectionHandler because i would like to use the method ValueForMaterial. So what does just comp correspond to ? Because G4CrossSectionHandler worked for this one. And why rayl,phot,pair are no more present outside livermore models ?


Each Geant4 model may use its own method how to read the data. The dataset G4EMLOW has many sub-directories, format of data in each sub-directory corresponding to the model, which use this data. We are trying to improve README files per directory in the coming Geant4 version 11.2beta.


1 Like