Gaussian Energy Broadening

Hi @Alexy

fluka doesn’t offer any such possibility built in. One obvious way will be to convolute the recorded spectrum with the Gaussian function which can be even as a function of the energy like in MCNP.

Another option would be to implement it with user routines
I presume you are using the DETECT card.

The DETECT card accumulates the energy deposition inside the variables ACCUMP and ACCUMN found in the “detloc.inc” include file.

What you can do is in the end of each primary event, and before the variables are used for the scoring to smooth with a Gaussian filter the accumulated energy deposited, by altering the energy. There is trick since the recording of the scoring will be done in a future primary event before starting to accumulate a future energy deposition. So we need to keep track if we applied the smoothing and not do it twice for the same event.

One option we though is to sacrifice one region-entry in the arrays and instead of having 20 regions in the DETECT you can score, you use up to 19 and the last one is used to keep track that you have applied the smoothing, by setting some nonphysical negative value as energy deposited.

You can do all that inside the usreout.f user routine that is called at the end of each primary event.

Attached you can find a simple example of that. I have applied a naive 1MeV smoothing, but you can do the smoothing more intelligent as a function of the scored energy e.g.
FWHM = A + B*SQRT(E + C*E**2)
where A,B,C are your detector response fitted parameters and E is the energy scored.usreou.f (2.5 KB)