Understanding the secondaries from the inelastic neutron process in Geant4

I have a detailed question regarding the inelastic neutron process in Geant4. I am interested in detecting gammas from inelastic neutron scattering (n,n’ gamma) reactions. I’ll use F-19 as my example. The most probable gammas following inelastic neutron scattering on F-19 from fast neutrons are the 110 and 197 keV gammas, which both feed the ground state in F-19. Geant4 (and appropriate physics libraries) correctly simulates the production of these gammas. I went further and checked the cross section for the reaction at many energies and found Geant4 perfectly matches ENDF/B-VIII.0.

So what’s the problem? It appears the 110 and 197 keV gammas are emitted with exactly equal weighting. In real life this is not the case, it depends on nuclear structure effects, the 110 and 197 keV levels have different spins, etc. My question is, is my understanding correct? As long as its energy favourable, the 110 and 197 keV states in F-19 are populated with equal weighting in Geant4? Is there a way to (easily) include the proper/updated cross sections for these different levels? If not, I’m sure I could hack something in the simulation, but I’d like to do things properly if possible.



gamma decay chains are simulated base on data as for energy level and for channel probabilities (G4LEVELGAMMADATA). If a particular line has some incorrect intensity, this likely means, that data are inaccurate and should be improved.


Thanks for the reply, Vladimir.

I think the issue is one step before. Not the gamma decay from the levels, but the initial population of the levels from the (n,n’) reaction. What I’d like to check is the (n,n’) cross section to various levels. I’ve already confirmed that the TOTAL cross section for the (n,n’) reaction perfectly matches ENDF/B-VIII.0, but I can’t think of an easy way of checking the individual cross sections to different levels, other than putting some if statements in the SteppingAction. It would be helpful if there was a way to directly plot cross sections from the input data (G4NDL). I am very familiar with the RadioactiveDecay and PhotonEvaporation data files; it is easy to read and modify these. G4NDL doesn’t appear to be that user friendly…