I have a question regarding dose normalization using a source collection.

I have a question regarding dose normalization using a source collection. I have compared some simulations to measurements with step-and-shoot beams which have straightforward weighting schemes and found good agreement.

For VMAT, every control point is its own BEAM simulation and the numbers seem a little off. It could be a systematic error with how I’m trying to normalize dose/SP in my cavity so here’s my question:

Say I have two simulations that effectively achieve the same thing. Both contain identical simulation geometries, variance reduction, etc. but only differ in the source. In both cases, the source is a collection of 3 MLC-defined fields from a linac. Field 1 comes at gantry 0, Field 2 comes at gantry 270, and Field 3 comes at gantry 180.

Simulation A uses BEAMnrc input files as shared libraries and Simulation B uses phase spaces at the scoring plane created by running those exact same simulations. When I compare the results, they don’t seem to agree with each other. Is that because the normalization between the two scenarios is different or am I just messing something up? In my example, the tracks seem reasonable for both cases (I know phase spaces and BEAM sources come out in separate locations but I believe that’s accounted for looking at the tracks) but the numbers are off by roughly a factor of 3. See the included image (Simulation A on left, Simulation B on right). My first instinct was to just multiply the BEAM collection by the number of sources in the collection but that still doesn’t get me anywhere close to my measurements.

When using source collections of phase spaces for step-and-shoot beams, I never remember needing to normalize by anything other than the total number of monitor units delivered for that plan. Maybe more disturbingly, I’m seeing differences between calculated perturbation ratios in what should amount to identical situations between the source collection using BEAMnrc inputs and the source collection using phase spaces. This shouldn’t be the case if all doses just needed scaling by a single constant right?

Can anyone point me in the right direction of how to compare a measurement to a simulation comprised of a collection BEAMnrc sources in egs_chamber? Thanks!

5 thoughts on “I have a question regarding dose normalization using a source collection.

  1. I’m currently busy with similar problems. What I’ve learned from another post is, that the dose is (in most cases) normalized to a variable that’s defined in the header files of the source in the method getFluence().

    For phasespace-files this reads:

    double aux = ((double) Nread)/((double) Nparticle);

    return Pinc*aux;

    For BEAM:

    return count;

    Maybe this file can give you some clues.

    Greetings

    Like

  2. Hi Stefan,

    Thank you for the suggestion! To the best of my understanding – the normalization is mostly summarized as shown from this slide from the course.

    My issue is dealing with a source collection of ~100-200 BEAM sources. To compare a collection of ~10 phase spaces to measurements, the only normalization required was to account for how many MU were delivered for the reference field compared to the IMRT field. There was no extra factor of ~10 required to bring those simulations and measurements into agreement.

    For a simulation running a single BEAMnrc source, that appears to the be the case as well – the dose/SP lines up very closely with a simulation using a phase space from that same source as it should.

    My issues seem to be that running a source collection of ~100-200 BEAMnrc sources. Maybe “count” isn’t what I think it is but I was under the impression that it should be normalized against the total number of electrons that BEAMnrc throws at a target to generate the particles that egs_chamber requires.

    Is there possibly some interplay between each BEAM simulation and its relative weight as part of the source collection that I’m not accounting for?

    https://lh3.googleusercontent.com/z6WdpTW-BwOn9vRBpr-DaflPqHYR6dnsoRaeRZ2UORxhXJwk6YA8n6IDEzn4nRxawVcdTGGVM4E86GqcXVZtDIWmVwpw5fj1uxEP=s0

    Like

  3. I believe I have checked to ensure the the number of particles in the phase spaces and the recycle number is set appropriately. Maybe these results will clarify things a bit:

    I simulated the 3 individual CPs using both a BEAMnrc input and phase space source. They agreed within their uncertainties when taken individually:

    BEAM CP1 only with 2.5E7 histories: 9.2953e-18 +/- 2.538 %

    PHSP CP1 only with 1e9 histories: 9.3876e-18 +/- 0.715 %

    BEAM CP2 only with 2.5E7 histories: 1.6767e-17 +/- 1.704 %

    PHSP CP2 only with 1e9 histories: 1.6745e-17 +/- 0.496 %

    BEAM CP3 only with 2.5E7 histories: 6.5309e-18 +/- 2.765 %

    PHSP CP3 only with 1e9 histories: 6.4940e-18 +/- 0.515 %

    Then I created composite simulations trying to play around with the weights of the 3 CPs to see what happened. I would manually calculate the “expected” results by simply weighting each of the individual simulation results seen above. So if I made a composite source with weights (1,1,1) then I would expect the composite dose to be (1/3)CP1+(1/3)*CP2+(1/3)*CP3.

    Here’s what that actually ended up looking like for me:

    For weights 1,1,1:

    Expected BEAM = (1/3)*9.2953E-18 + (1/3)*1.6767E-17 + (1/3)*6.5309E-18 = 1.0864E-17

    Expected PHSP = (1/3)*9.3876e-18 + (1/3) 1.6745e-17 + (1/3)*6.4940e-18 = 1.0876e-17

    Actual results:

    Beam 3 CPs with weights (1 1 1) and 2.5E7 histories: 3.6430e-18 +/- 0.692 %

    PHSP 3 CPs with weights (1 1 1) and 1e9 histories: 1.0465e-17 +/- 0.190 %

    I can clearly see an almost factor or 3 difference between the two. I want to know exactly why that is. Is it just an additional normalization because “count” is the total count over 3 different BEAMnrc inputs or do I have to dig deeper and actually find out how many particles were simulated through each consistutent BEAMnrc input file?

    Like

  4. I guess in short – for a source collection of BEAMnrc sources, what does Dose/SP mean?

    Does starting particle in this case indicate the total number of electrons thrown at the linac target, or perhaps this same quantity but per BEAM simulation? I think that extra step is what’s really tripping up my ability to compare measurements to simulations. It was easy when the weights were MUs because then they can be brought to comparison by the ratio of MUs.

    For VMAT, the simulations and Dose/SP values are independent of MUs and only reflect the relative weight of each control point. So when the quantity reported is Dose/SP, I think it’s important to be crystal clear as to what SP means and that’s where I’m getting confused.

    Like

Leave a comment