Gaussian Energy Broadning for NaI detector outputs

Hello, the new forum looks great. Congratulations!

My question is regarding implementation of a Gaussian energy broadening (GEB) feature in the code. I am using below code to get my energy spectrum. Generally, I need to import data in Matlab to get the spectrum with broadening. Is there a way to edit the below code and get the output with GEB directly from Geant4?

Best Regards,
Sanchit Sharma

Better way would be to introduce GEB to your parimary particles in PrimaryGeneratorAction. Initiate particle gun using G4GeneralParticleSource() in PrimaryGeneratorAction and introduce parameters (energy, energy broadening, position, etc) of primary particles using “/gps/” commands in a macro as followings:-

/gps/ene/type Gauss
/gps/ene/mono 662 keV //for mono energetic 662 keV primary
/gps/ene/sigma 2 keV // adds Gassian broadening with sigma =2 keV

Implementation of broadening in your primary particle should also broaden the desired output energy spectrum.

Hello Dr. Kumar,

Many thanks for your reply. I know about this method. However, I believe that this will only work when Primary source is a gamma source, in my case the primary source is 14.1 MeV neutrons, and detected gammas are secondary particles generated from neutron capture or inelastic neutron interactions. I am unsure that this method will work in my case.


Hi Sanchit

I have not done this with neutrons. But I did not understand why it will not work in case of this D-T neutrons as primary particle. If you have time, please try it once. By the way which detector are you using. Because only the secondary gamma produced in inelastic interaction would not give you any peak, then observing the Gaussian broadening in such spectrum would be difficult.


I am using NaI detector. I realize that about gammas from inelastic scattering, however annihilation and neutron capture from hydrogen, carbon etc. will provide me characteristic gamma peaks. I will try your suggestion and will update you with the results.

Thanks a lot,
Sanchit Sharma

This method does not work for Gaussian energy broadening if the neutron are primary source particles.

my source is –

/gps/particle neutron
/gps/pos/shape Circle
/gps/pos/centre 0. 0. 0. cm
/gps/pos/radius 3 cm
/gps/ang/type beam2d
/gps/ene/mono 0.025 eV
/gps/ene/sigma 20 keV
/gps/direction 1 0 0

My Gamma Spectra from NaI:

My Detector file: (4.3 KB)

Does anyone has a code to perform the Gaussian energy broadning as a post process. I already have the “a”,“b”, and “c” parameters. Any advice in this regard is appreciated?