Primary-photon fit form quality across 13 materials
Sibling of the neutron and secondary-photon harnesses. Validates the shipped 1D primary-photon fit (Shin-Ishii double exponential) against photon-source MC anchors.
Setup
Same cache file as the other two harnesses, but loads only the
photon-source materials (*_photon keys: polyethylene_photon,
concrete_photon, ..., tungsten_photon). These come from
compute_buildup runs with a 1 MeV photon source — dose-AP is then
the primary-photon dose (no secondary radiation, no coupled-photon
component to worry about).
The fit form is Shin-Ishii:
with \(B(0) = 1\) by construction.
Result (13 photon-source materials)
| Metric | Value |
|---|---|
| Worst holdout \(z\) | 5.50 (polyethylene) |
| Mean holdout \(z\) | 2.08 |
| Median holdout \(z\) | 1.07 |
| Worst training \(z\) | 1.69 |
Cleaner than the neutron case because primary-photon physics has no late-stage thermalisation tail; Shin-Ishii's two decaying exponentials match the underlying physics well across all materials. Mean holdout \(z = 2.1\) vs \(4.9\) for neutron and \(6.0\) for secondary photon.
Running
Same machinery for flux
Photon flux uses the same Shin-Ishii form. To validate it:
- Regenerate the photon-source materials in the cache with
compute_buildup(quantities=["flux-photon"], source=photon_src, ...). - Swap the field read in
_load()fromr["mc"]["dose-AP"]tor["mc"]["flux-photon"](and the matchingpk,mc_std_dev).
The harness code is identical otherwise.