Absence of Characteristic X-ray Peaks (PIXE) in FLUKA Simulation of 2 MeV Protons on Thin Au Foil

Dear FLUKA experts,

I am trying to simulate a Particle-Induced X-ray Emission (PIXE) setup using FLUKA.

Experiment context:
A 2 MeV proton beam impinges on a 1 μm thick gold (Au) foil. In experimental conditions, such a setup produces characteristic X-ray peaks from Au, namely the L-lines around:

  • 9.7 keV (Lα1),

  • 11.4 keV (Lβ1),

  • 13.4 keV (Lγ1).

These peaks originate from inner-shell ionization and subsequent atomic relaxation in gold after proton impact.

Simulation setup in FLUKA:

  • Beam: 2 MeV protons, normal incidence on 1 μm Au foil.

  • Geometry: simplified thin foil, with scoring region immediately downstream.

  • Physics cards applied:

    • DELTARAY (to enable δ-ray production and correct ionization losses),

    • MULSOPT (to refine multiple Coulomb scattering in thin targets).

Issue:
The photon spectrum obtained from the simulation only shows a continuous background (Bremsstrahlung-like), but no discrete characteristic Au X-ray peaks.

My questions:

  1. Does FLUKA natively model PIXE (ionization of inner shells by protons/ions and subsequent emission of characteristic X-rays)? Or is this process not implemented for hadronic projectiles?

  2. If it is supported, what additional cards, options (e.g. EMFCUT thresholds, PRECISIOn defaults), or scoring detectors are required to correctly capture these discrete lines?

  3. If not supported directly, what is the recommended workflow in FLUKA for simulating PIXE spectra (e.g., external coupling with ionization cross sections and fluorescent yields, or user routines to inject characteristic photons)?

Thank you very much for your guidance.

Best regards,
Tanus

Versions

FLUKA: 4-5.0
Flair: 3.4-3

Input files

PIXE.inp (2.1 KB)

PIXE.flair (2.9 KB)

Dear Tanus,

Thank you for your question.

Going straight to the point, as you might have already suspected, the PIXE process is not currently implemented in FLUKA.
This means that you will not be able to obtain, directly from FLUKA, the full photon spectrum including the characteristic x-rays but you can get the continuous background produced by Bremsstrahlung, as you have already reported.

Now, it might be not so straightforward to overcome this problem.
If this simulation is a first step to check if FLUKA could reproduce the photon spectrum you had in your experiment, before doing a full simulation to replicate the entire experimental setup, then the most straightforward solution would be to directly sample the photons from the spectrum, if you have a full knowledge of it.
This can be simply done with the use of a source.f routine.

Let me know if this is the case for you, otherwise we could think about other possible solutions.

Best,
Giuseppe