Differences between Monte Carlo codes in dosimetry of 6 MV radiotherapy photon beam profiles (MCNP vs Geant4-EMStandard_Opt4)

Hello everyone,

I’m comparing dose profiles of 6 MV photon beams from a Varian linac, simulated with MCNP6.2 and Geant4 Version 11.2.2 under equivalent setups.

For MCNP, I used energy cutoffs of 10 keV (photons) and 100 keV (electrons). For Geant4, I applied the EMStandard_Opt4 physics list with a global cut of 0.05 mm. Geometry, voxel size, and the input beam spectrum were identical in both simulations.

I observed differences of about 6–9% at field edges and in penumbra regions, exceeding the typical ±3% clinical tolerance. In the literature, such discrepancies are usually attributed to differences in cross-section libraries or transport models, but these explanations often lack deeper discussion or quantitative detail.

Has anyone observed similar behavior between MCNP and Geant4 (or other Monte Carlo codes) when modeling radiotherapy photon beams? Which aspects have you found most influential — e.g., photon scattering models, secondary electron transport, or source angular distributions?

The attached figure also includes an experimental profile for reference, but my main interest is in the differences observed between the two Monte Carlo codes.

And In this figure, taken from other linac simulations, differences can also be seen at the profile edges. Similar behavior has been reported in direct comparisons between GATE (Livermore) and MCNPX (A Comparison Between GATE and MCNPX Monte Carlo Codes in Simulation of Medical Linear Accelerator - PMC)