Methods: how the engine computes a reference field
Field Pro · updated 28 October 2026
Everything the workbench reports comes from a small set of committed data tables and a few explicit formulas. This page states each one, so that a result can be checked by hand or with other software.
X-ray spectrum
The tube model is the total emission of a tungsten anode at a 20° target angle, bremsstrahlung plus characteristic lines, before any filtration. It was generated once with SpekPy 2.5.4 (physics model casim, characteristic lines on) and stored with the source code; the browser never runs SpekPy. Rows exist for every 5 kV from 10 to 150 kV and every 10 kV from 160 to 400 kV, in 1 keV bins. Between two stored voltages the engine interpolates the rows linearly. All 50 ISO 4037-1 tube voltages fall exactly on a stored row, so the validation runs on unblended data.
Instead of the model you can import a spectrum; every later step treats it the same way, and radionuclide sources are handled as lists of discrete lines.
Filtration and air
Each filter layer, and then the air path, multiplies every energy bin by exp(−μt). This is narrow-beam attenuation: no build-up, no scatter from the filters, collimator or room. Mass attenuation coefficients for Be, Al, Cu, Sn, Ta, W, Pb, air and water, and the mass energy-absorption coefficient of air, come from the NIST tables as packaged in SpekPy, on a grid from 1 to 1400 keV, and are interpolated log–log. Air is NIST dry air (mass fractions C 0.000124, N 0.755267, O 0.231781, Ar 0.012827).
Air kerma, half-value layers and energies
Relative air kerma is the sum over bins of φ(E)·E·(μen/ρ)air(E). HVL1 is the thickness of the chosen material that halves it, found by bisection to well below 0.1% of its value; HVL2 is the further thickness from one half to one quarter, and h = HVL1/HVL2. The mean energy Ē is fluence-weighted. The effective energy is the photon energy whose linear attenuation coefficient in the HVL material equals ln 2 / HVL1.
With Auto, the first estimate uses aluminium below 50 kV, copper from 50 kV and lead for Cs-137 and Co-60; once the field is matched to an ISO quality, the half-value layers are re-evaluated in that quality's tabulated material.
Matching an ISO 4037-1 quality
The reference table holds the 50 qualities of ISO 4037-1:2019, Tables 2–6: 11 in the L series, 16 in N, 9 in W and 14 in H, each with tube voltage, filtration, mean energy and HVL1 and HVL2 at 1.0 m and 2.5 m from the focal spot. For each candidate the engine computes the field's HVL1 in that candidate's material and keeps the candidate with the smallest absolute deviation, using the 2.5 m column where the table gives one. The comparison then lists HVL1, HVL2, h and Ē against the band you set. Cs-137 and Co-60 fields are compared instead with the nominal mean energies of S-Cs (661.6 keV) and S-Co (1252.9 keV).
Conversion to operational quantities
Monoenergetic conversion coefficients from air kerma come from ISO 4037-3:2019: h′K(0.07; E, α) from Table 1, h*K(10; E) from Table 14 and hpK(10; E, α) on the ICRU slab from Table 46. Each angle column is interpolated log–log in energy, then between tabulated angles. The value reported for a spectrum is the air-kerma-weighted mean:
h̄ = Σ φ(E)·E·(μen/ρ)air(E)·h(E, α) / Σ φ(E)·E·(μen/ρ)air(E)
Reading the table at the mean energy instead is a common shortcut and it is not neutral. For N-80, hpK(10; 0°) at Ē = 64.96 keV is 1.893 Sv/Gy, while the spectrum average is 1.876: the shortcut reads 0.9% high, and 0.7% high for H*(10).
One printed value is stored corrected. Table 46 gives 0,005 53 at 13 keV and 45°, which would make that row non-monotonic in angle (0.0948 at 30°, 0.0169 at 60°). It is stored as 0.0553, consistent with the neighbouring energies at 45° (0.0258 at 12 keV, 0.0997 at 14 keV).
Radionuclide fields
Cs-137 is one line at 661.657 keV with emission probability 0.851; Co-60 is two lines, 1173.228 keV (0.9985) and 1332.492 keV (0.9998). Half-lives are 30.08 a and 5.2711 a, with a year of 365.25 days. Activity on the evaluation date is A0·exp(−λt), and the air kerma rate of a point source at distance d is A/(4πd²)·Σ piEi(μen/ρ)air(Ei), with no air attenuation and no scatter.
Air-density correction
kρ = ρ0/ρ(T, P, h). Moist air is treated as an ideal-gas mixture, ρ = [P·Md − pv(Md − Mw)]/(R·T), with water-vapour pressure pv from relative humidity and the Magnus saturation formula of Alduchov and Eskridge. The reference state, 20 °C, 101.325 kPa and 65% relative humidity, gives ρ0 ≈ 1.197 kg/m³.
Uncertainty
Following the GUM, n repeat readings give the mean, the experimental standard deviation s, u = s/√n and ν = n − 1, with k = t0.975, ν from a Student-t table (exact for ν = 1–30 and a few larger tabulated values, interpolated in 1/ν between them). Relative components are combined in quadrature, as for a product model; Type B entries carry infinite degrees of freedom. The effective degrees of freedom follow Welch–Satterthwaite, νeff = uc4 / Σ(ui4/νi), and set the coverage factor of the expanded uncertainty U = k·uc.
How well these methods reproduce the standards is on the Validation page; how to drive them from the screen is in the Guide.
Sources
- ISO 4037-1:2019, X and gamma reference radiation for calibrating dosemeters and doserate meters and for determining their response as a function of photon energy — Part 1: Radiation characteristics and production methods. Tables 2–6.
- ISO 4037-3:2019, Part 3: Calibration of area and personal dosemeters and the measurement of their response as a function of energy and angle of incidence. Tables 1, 14 and 46.
- G. Poludniowski, A. Omar, R. Bujila, P. Andreo, Technical Note: SpekPy v2.0 — a software toolkit for modeling x-ray tube spectra, Medical Physics 48 (2021) 3630–3637. SpekPy on PyPI.
- J. H. Hubbell, S. M. Seltzer, X-Ray Mass Attenuation Coefficients, NIST Standard Reference Database 126.
- IAEA Nuclear Data Section, Live Chart of Nuclides (ENSDF evaluations for Cs-137 and Co-60).
- O. A. Alduchov, R. E. Eskridge, Improved Magnus form approximation of saturation vapor pressure, Journal of Applied Meteorology 35 (1996) 601–609.
- JCGM 100:2008, Evaluation of measurement data — Guide to the expression of uncertainty in measurement (GUM), 4.2, 5.1.2 and G.4.
- Engine source: src/engine and the data generators in scripts.