Case study · design before data
GEIGER-1911: where do you point the detector?
An atom is neutral and it holds electrons. Where is the positive charge that balances them — concentrated in a small hard centre, or spread through the whole atom? Both answers fit everything known in 1910. This page is the experiment that tells them apart, planned before it is run: nothing here is fitted until the last section, because the deliverable is a set of angles, an aperture geometry, a time allocation and a stopping rule.
The move the whole thing rests on
Two hypotheses become one parameter
Nothing in axiom.design scores “hypothesis A against hypothesis B”.
Everything in it scores a parameter. So the first job is to find the number
the two atoms differ in — and it exists, and it is physical.
An alpha of charge 2e fired head-on at a charge 79e stops and turns
around at D = 2zZe²/4πε₀E. A trajectory scattered through θ comes no
closer than (D/2)(1 + 1/sin(θ/2)), so a positive charge of radius
R kills the scattering past
sin(θcut/2) = 1/(2R/D − 1). The two atoms are two values of
that, and the model is continuous between them.
THE BEAM
7.68 MeV alphas
Radium-C′ on a 0.4 µm gold foil, 200,000 of them a second. Each one crosses about 1,351 atoms on the way through.
59.2 fm closest approach head-on — the smallest distance in the experiment
THE DIFFUSE ATOM
Charge everywhere
The positive charge fills the whole atom, R =
1.35e-10 m. The alpha is already
inside it by a fortieth of a degree.
0.025° past which single scattering is dead
THE HARD CENTRE
Charge in a point
Below D/2 the beam never reaches the charge at any angle, the cut-off
disappears, and the Coulomb law holds out to 180°.
6.7 decades between the two, on one axis
The ceiling, in four lines of arithmetic
That denominator goes to zero. Once R ≤ D/2 every charge
ball predicts exactly the same thing, so the resolving power of this experiment is
29.6 fm and it is set by the beam energy
alone — no exposure, no aperture, no number of counts moves it. The gold nucleus is
four times smaller than that. The experiment returns an upper bound on the size of
the positive charge, never a value, and it is worth knowing that before spending
two hundred hours rather than after.
What the two atoms predict
They agree below a degree and diverge by a hundred million by five
Below about a degree both curves are the same multiple-scattering core — the pile-up of a thousand glancing encounters that both atoms produce — and the difference is a factor, not a fact. Then the diffuse atom’s prediction falls off a cliff, a Gaussian dying against a power law, and by five degrees it has gone under the counting background and stays there.
Scattered particles per steradian per second
Both axes logarithmic. The horizontal line is the background the counter records with the foil taken out.
scattering.rate_per_steradian(angles, world) — one
forward() per point, for both worlds
Which angles
The information is at five degrees. The evidence is at a hundred and fifty.
For a choice between two hypotheses the expected information gain has a closed form — the Kullback–Leibler divergence between two Poisson counts — so every angle can be priced in nats per hour before anything is built. A human at a scintillation microscope counts about 90 flashes a minute before missing them, so every station from half a degree to seventy-five collects the same counts an hour and what differs is what the diffuse atom has to say about them.
On that reading the answer is unambiguous and it is not the one folklore gives: an hour at 5° is worth 97,364 nats and an hour at 150° is worth 4,895 — twenty times less.
Except that the five-degree number is a statement made inside a model
It assumes the width of the multiple-scattering core, which is a fitted quantity and is exactly what a defender of the diffuse atom would attack: your core is wider than you think. The defence is not free — the beam is conserved, so a core f times wider is f² times lower at the peak, and an adversary who widens it to explain a wide-angle count makes the small-angle counts come out wrong. So there is a worst case rather than a slippery slope, and it can be found by minimizing.
The same hour, before and after the opposition has chosen its core
The lower line is the least evidence a station still carries once the diffuse atom may pick any core up to thirty times the fitted width — twenty degrees rms, five times wider than any plate measurement of the period.
scattering.surviving_evidence(angles, aperture, 3600) — the Poisson KL minimized over the adversary’s core
Where the information was, it evaporates. Where it looked wasted, it does not move: at a hundred and fifty degrees the evidence is 4,895 nats against 4,895 believed — unchanged to four figures, because a core wide enough to reach a hundred and fifty degrees has had its peak destroyed by the f² penalty and is refuted somewhere else instead.
| angle | role | hours | nats/h believed | nats/h attacked | kept | share of surviving |
|---|---|---|---|---|---|---|
| 1.0° | anchor | 5 | 2,744 | 2,696 | 98% | 2.4% |
| 2.5° | anchor | 5 | 13,029 | 2 | 0% | 0.0% |
| 5.0° | bank | 10 | 97,394 | 18 | 0% | 0.0% |
| 10.0° | bank | 10 | 82,606 | 32 | 0% | 0.1% |
| 20.0° | bank | 10 | 67,717 | 1 | 0% | 0.0% |
| 45.0° | bank | 15 | 50,649 | 532 | 1% | 1.4% |
| 90.0° | witness | 25 | 20,659 | 536 | 3% | 2.3% |
| 150.0° | witness | 110 | 4,870 | 4,870 | 100% | 93.8% |
What each station is worth, before and after the argument
Grey is the evidence an hour buys if the model of the core is believed; green is what survives the opposition choosing its own. The rule joining them is what the argument costs that station. Drawn in log₁₀ because the range across stations is five orders of magnitude.
scattering.surviving_evidence(angles, aperture, 3600) against weight_of_evidence(mu_hard, mu_diffuse)
Which is why the plan spends 110 of its 200 hours at a hundred and fifty degrees — the opposite of what the evidence-per-hour calculation says, and right, because evidence-per-hour is computed inside the model that is under attack. The allocation is lexicographic rather than optimal: buy every constraint the argument will need, as cheaply as it can be bought, then spend the rest where the evidence cannot be talked out of.
How far back the witness has to sit
As far as the widest core anybody will concede
Thirty-fold was a choice, and the answer moves with it. Somebody who will concede only a threefold error in the core needs a much less awkward apparatus than somebody arguing with a sceptic who will concede thirty. That trade is a curve, and it is the design’s actual specification for the wide-angle station.
| the opposition may claim a core | rms scattering | immune beyond |
|---|---|---|
| 3× the fitted width | 2.0° | 14° |
| 5× | 3.3° | 23° |
| 10× | 6.5° | 45° |
| 20× | 13.1° | 88° |
| 30× | 19.6° | 130° |
The witness angle, as a function of how wrong the core may be
Concede more to the opposition and the station has to move further round the apparatus. The curve is the specification; the table above is five points on it.
scattering.surviving_evidence(..., factors=geomspace(0.3, cap)) at five allowances
To be immune against a core thirty times the fitted one, the witness has to sit past 130 degrees. Which is, to within the width of a slit, where Geiger and Marsden put theirs.
What to cut in the brass
An annular slot, not a hole
A detector opening covering azimuth φ and θ ± δ subtends exactly
φ · 2 sin θ sin δ. So the same solid angle — the same counts an hour —
can be bought by opening in δ or by opening in φ, and only one of them costs
anything. The scattering pattern does not depend on azimuth, so an aperture
stretched round the beam axis collects more counts of exactly the same measurement;
one stretched in θ collects counts of a different measurement and averages
them together.
The prescription follows: hold the radial half-width at the workshop’s floor of 0.05° and take every additional steradian out in azimuth, opening radially only once the arc has closed into a full annulus.
| station | slot half-width | slot arc | slot error | round hole half-width | hole error |
|---|---|---|---|---|---|
| 5° | 0.05° | 2° | 0.020% | 0.22° | 0.40% |
| 10° | 0.05° | 16° | 0.005% | 0.63° | 0.80% |
| 20° | 0.05° | 126° | 0.001% | 1.78° | 1.62% |
| 45° | 0.20° | 360° | 0.004% | 6.01° | 3.86% |
| 90° | 0.91° | 360° | 0.025% | 12.87° | 5.21% |
| 150° | 1.82° | 360° | 0.054% | 18.27° | 5.63% |
The same solid angle, bought two ways
Every pair admits identical counts at identical stations. The only difference is the shape of the brass — and the slot is the one that reports a rate belonging to the angle it is pointed at.
scattering.aperture_bias(theta, half_width, arc, world) —
forward() integrated across the opening against its value at the centre
At ninety degrees the two openings admit exactly the same 0.2 steradians. The slot is ±0.91° wide and reports the rate to a part in four thousand. The hole is ±12.9° wide — it runs from seventy-seven degrees to a hundred and three — and reports a number 5.2 per cent too high that belongs to no angle in particular. Fourteen times the angular resolution and two hundred times less smearing, for the same counts, because the scattering does not care about azimuth and the experimenter can.
And the anchor cannot be moved closer to the beam
The smearing error scales as 2(δ/θ)² with δ pinned at the
workshop’s floor, so it grows as a station moves inward, while the counting error
stays flat — the counter is rate-capped, so ten hours is ten hours’ worth of counts
wherever it points. They cross at 0.9°. Inside that the number is limited by
brass rather than by counting, which is why the anchor sits at
1.0° and 2.5° and not at
half a degree.
When to stop
The decisive observation takes five hours. The rest buys the bound.
A hundred and ten hours at a hundred and fifty degrees is the largest single
commitment in the plan, and there is no reason to make it blind. The station has a
clean interim statistic — counts against a background the foil-out run has measured —
and obrien_fleming budgets the looks so that watching costs no error
rate. At 857 counts an hour of signal
against 1.08 of background, it crosses at
the first look.
So the question the rule is really being asked is not will this settle it. It is how weak a source would still settle it — which is the question that decides whether an apparatus is worth building.
| source strength | drift at 110 h | P(stop) | expected hours used |
|---|---|---|---|
| ×1 — as modelled | 307 | 100.0% | 5 h |
| ×0.01 | 28.9 | 100.0% | 15 h |
| ×0.001 — a thousand times weaker | 6.5 | 100.0% | 43 h |
| ×0.0003 | 2.33 | 74.6% | 95 h |
| ×0.0001 | 0.83 | 20.5% | 108 h |
One of those weaker campaigns, watched
A source a thousand times the modelled one is weak enough that the crossing is an event rather than a foregone conclusion. The boundary falls as information accumulates — an early look has to clear a much higher bar, which is what buys the right to look at all.
axiom.design.obrien_fleming(0.05, looks, side="upper") · monitor(rule, z) on one simulated path
A source a thousand times weaker than this one still settles the question with certainty, in about forty of the hundred and ten hours. That is roughly the situation Geiger and Marsden were actually in — which is why their answer took months of nights at the microscope rather than an afternoon.
What comes back
A bound 10 per cent above the best this beam can do
The radius of the positive charge of gold
95%, one-sided. There is no lower bound to report and the profile says so by going flat — a charge the beam never reaches is a charge whose size does not enter any prediction.
| station | hours | counted | if diffuse |
|---|---|---|---|
| 1.0° | 5 | 26,701 | 8,051 |
| 2.5° | 5 | 26,923 | 921 |
| 5.0° | 10 | 54,744 | 0 |
| 10.0° | 10 | 54,255 | 0 |
| 20.0° | 10 | 54,316 | 0 |
| 45.0° | 15 | 80,918 | 3 |
| 90.0° | 25 | 74,864 | 27 |
| 150.0° | 110 | 94,117 | 119 |
| 90.0° · foil out | 10 | 11 | 11 |
The diffuse atom predicts exactly zero at four of the eight stations; the chart floors it at a tenth of a count so the axis stays finite. Every gap you can see is a lower bound on the real one.
Ninety-four thousand flashes at a hundred and fifty degrees where the diffuse atom accounts for a hundred and nineteen, every one of them background. There is no version of that which is a fluctuation.
The five notebooks
Everything on this page is computed by
nbs/case-studies/rutherford/scattering.py, the world the five notebooks
share — two atoms and one parameter, which angles, what shape to cut the aperture, how
long and when to stop, and running it in both worlds. The mean is a hand-built
expression tree and the first implementation of SupportsForward outside
axiom.surface; counting is Poisson and forward() returns
2õ, which makes fisher_information exactly the Poisson
information. The decisions are in
docs/notes/0018-case-study-rutherford.md.