For many reasons perhaps not worth getting into, I’m interested in generating two identical phase spaces in both the standard BEAMnrc and IAEA format. Seemed like something straightforward enough to do until I realized that multiple crossers are treated differently between the two formats.
So no big deal I generated a BEAMnrc phase space as I usually would based on an IMRT beam and then ran it through a 1 nm vacuum (with 5 cm air on the back end so BEAMnrc would be happy) and tallied the phase space again after the 1 nm vacuum region.
The resulting phase spaces are definitely similar but certainly not identical. Something worth noting is that the original BEAMnrc simulation scored a phase space using a 20 cm annulus (ostensibly at the level of my linac’s mylar window).
When I dug into the phase spaces, I noticed that many of the particles appeared to be identical but that several extra particles existed in the BEAMnrc phase space that weren’t in the subsequent IAEA phase space that I was generating using the thin vacuum.
Looking at the X and Y positions of the particles, I see the following (see attached graphs).
Basically, there seem to be particles with positions in the original BEAMnrc phase space that I don’t think should be there since my annulus was set to 20 cm. The resulting IAEA phase space seemed to ignore these “spikes” but as a result the two phase spaces were no longer identical and therefore can’t be compared fairly.
So my initial impression was that the IAEA phase space could be more trustworthy but I can’t fully explain why. I’m going to try to reproduce these spikes by by reversing the process.
I generated these results by doing the following:
Full BEAMnrc simulation creates BEAMnrc PhaseSpace ->
“Fake” BEAMnrc vacuum simulation converts BEAMnrc PhaseSpace to IAEA format
with weird spikes in the original BEAMnrc PhaseSpace
Now I’m currently working on doing the following:
Full BEAMnrc simulation creates IAEA PhaseSpace (same hardware and RNG seeds) ->
“Fake” BEAMnrc vacuum simulation converts IAEA PhaseSpace to BEAMnrc format.
I’ll see if the spikes persist at any point in this simulation too. Has anyone noticed any weird behavior of particles existing in phase spaces outside the specified scoring zone? I guess I can always shrink my annulus too to see if it helps but I wonder why this behavior could happen. Thanks!







