# Helium mass spectrometer
A helium mass spectrometer is a magnetic-sector instrument permanently tuned to mass-to-charge ratio 4, built for one question and no other: is there any helium in here? It is the standard [[Leak_detection|leak detector]] for anything that must hold vacuum or pressure, and the reason it works is not that helium is slippery. It is that air is 5.24 parts per million helium, so a helium [[Signal|signal]] found inside a sealed vessel has almost nowhere else it could have come from.
## Microsims — three.js
<iframe src="https://wikitube-3d-microsims.netlify.app/Helium_mass_spectrometer.html" width="100%" height="620" frameborder="0" loading="lazy" sandbox="allow-scripts allow-same-origin" title="Helium mass spectrometer — three.js microsim"></iframe>
**`Helium_mass_spectrometer` (three.js).** Six [[Ion|ion]] species leave one source together — H2+, HD+, He-4+, H2O+, N2+, O2+ — and a 90-degree magnetic sector fans them out by radius, so the separation everybody asserts becomes something you watch happen: only the yellow m/z 4 arc threads the collector slit, and the rest end on a chamber wall, a pole face or the collector plate. Drag *Magnetic field B* upward and the tuned mass climbs as B squared, walking [[Nitrogen|nitrogen]] into the slit near 0.45 T, and watch what the reading does — it does not fall silent, it rises by a factor of several hundred, because a Faraday cup counts charge and cannot tell you what carried it. Open *Collector slit width* and watch specificity die: helium transmission climbs and then saturates near 87 per cent because everything still missing is lost vertically, and past about 16 mm mass 3 climbs into the slit alongside mass 4. The live HUD quantity is the collector current and the [[Leak|leak]] rate it implies, printed simultaneously in Pa m3/s, mbar L/s and atm cc/s beside a measured m/dm given three ways — the slit formula, the base-width value and the FWHM value — because those three numbers are the ones most often mistaken for one another.
## Microsim
### Live player
<div class="microsim-player">
<iframe src="https://editor.p5js.org/sciencenibber/full/eMuAnP-Ua" width="100%" height="620" frameborder="0" sandbox="allow-scripts allow-same-origin"></iframe>
</div>
<div class="microsim-fallback">
<img src="Microsims/thumbs/Helium_mass_spectrometer.png" alt="Helium_mass_spectrometer microsim poster" style="width:100%;border:1px solid #4445;border-radius:6px;">
<p><em>Live microsim (desktop) · <a href="https://editor.p5js.org/sciencenibber/sketches/eMuAnP-Ua">open sketch in the p5.js editor</a></em></p>
</div>
**Editor URL:** https://editor.p5js.org/sciencenibber/sketches/eMuAnP-Ua
**Description (100 words):**
A live [[Block_diagram|block diagram]] of an industrial helium leak detector. Ten labelled component boxes wire left-to-right: a spray probe puffs tracer helium at the unit under test; gas pulled through the counterflow inlet hits the scroll and turbo pumps, then the heated ion source, the magnetic sector tuned to mass four, the Faraday detector, the pre-amp, and the output gauge. Animated helium tokens stream along the arrows, cool blue through the vacuum legs, warm yellow once they cross the ionizer. Three sliders set the simulated leak rate, helium fraction in the spray, and detector sensitivity; a SPRAY toggle starts tracer flow and a log-scale scope plots the detector current across six decades of leakage.
```js
// =====================================================================
// Helium_mass_spectrometer.js -- Wikitube microsim
// Article: Helium_mass_spectrometer
// en.wikitube.io/wiki/Helium_mass_spectrometer
// Room: Helium Pattern: G (block diagram, process chain)
// ---------------------------------------------------------------------
// Idea: a live block-diagram of an industrial helium leak detector.
// Tracer helium sprayed at the unit-under-test (UUT) trickles through
// any pinhole, gets pulled through a counterflow inlet, scrolled and
// turbo-pumped down to high vacuum, ionized at a heated cathode,
// accelerated through a magnetic-sector analyser tuned to m/z = 4,
// and lands on a Faraday-cup / electron-multiplier detector whose
// current is amplified and displayed as a leak rate in mbar L / s.
//
// The reader drives three things:
// * leak rate Q (log slider, 1e-12 ... 1e-6 mbar L/s) -- the size
// of the simulated pinhole in the UUT
// * He fraction f in the tracer spray (0 ... 100 %) -- 100% is a
// pure helium gun; ~10% is a typical forming-gas mix
// * detector sensitivity S (1 ... 4 in arbitrary units) -- maps to
// the lab-calibration step against a NIST-traceable reference leak
//
// The reader also clicks the SPRAY button to start tracer flow, or
// the RESET button to clear the time-series scope.
//
// Visual layout (720 x 520 canvas):
// * top-left (14, 14): TITLE in 22pt bright + subtitle Wikitube URL
// * top-right: numeric readout panel (Q_set, I_det, Q_meas)
// * center band: the seven-box block diagram, drawn left-to-
// right, with animated helium-atom tokens flowing along arrows
// (token spawn rate proportional to f * Q * S)
// * bottom-left: three sliders + spray button + reset button
// * bottom-right: canonical equation in ASCII
// * far right: time-series scope of the detector current
//
// Canonical equation (mass-spec leak rate, ASCII only):
//
// Q = (I_He - I_bg) / S [mbar L / s]
//
// Where I_He is the partial-pressure current at m/z = 4 in amps, I_bg
// is the residual background current with the inlet valved off (the
// atmospheric He background sets the floor), and S is the calibrated
// sensitivity in amps per (mbar L / s) obtained by exposing the
// detector to a known reference leak. Linearity across about six
// decades is what makes the technique the gold standard for hermetic-
// package and vacuum-vessel qualification.
//
// Conventions (Wikitube Betterfire Standard v0):
// * single ARTICLE constant at top, single quotes (validator BF1)
// * p5.disableFriendlyErrors = true (no FES spam in editor console)
// * non-ASCII (greek mu, arrows, lambda, dots) lives in COMMENTS
// only -- every text() literal is ASCII
// * Energy room palette (P5_JS_EDITOR section 4): BG 18, FG 240,
// HOT [220,110,60], COLD [60,130,220], STRUCT [120,130,150],
// TRAJ [240,220,80]
// * Pattern G idioms: rectangular component blocks with one-line
// ASCII labels, directed arrows, animated tokens whose density
// encodes flow rate (Energy section 4 line 161 stock-and-flow)
// =====================================================================
const ARTICLE = 'Helium_mass_spectrometer';
const TITLE = ARTICLE.replace(/_/g, ' ');
p5.disableFriendlyErrors = true;
// ----- Energy room palette (P5_JS_EDITOR section 4, line 165) --------
const BG = 18;
const FG = 240;
const DIM = [240, 240, 240, 140];
const HOT = [220, 110, 60]; // warm: ion source / detector
const COLD = [60, 130, 220]; // cool: vacuum pumps / inlet
const STRUCT = [120, 130, 150]; // structural grey: chassis / arrows
const TRAJ = [240, 220, 80]; // accent: helium tokens, scope trace
const ACCENT = [200, 100, 220]; // mass-filter highlight (magenta)
const GAUGE = [120, 220, 140]; // gauge fill (green)
const SCRATCH = [120, 120, 120, 90]; // scope grid
// ----- mass spec parameters ------------------------------------------
// Detector sensitivity baseline (amps per (mbar L / s)). Real lab
// instruments calibrate to roughly 1e-4 A per (mbar L / s) at the
// pre-amp output; the slider tweaks this by a factor.
const S_BASE = 1e-4; // A / (mbar L / s)
const I_BACKGROUND = 5e-12; // A, atmospheric He floor
const Q_MIN_LOG = -12; // 1e-12 mbar L / s
const Q_MAX_LOG = -6; // 1e-6 mbar L / s
// Layout helpers
const W = 720;
const H = 520;
const PANEL = { x: 18, y: 56, w: 450, h: 270 }; // diagram area
const SCOPE = { x: 482, y: 56, w: 222, h: 270 }; // time-series scope
const CTRLS = { x: 18, y: 360, w: 240, h: 140 }; // controls
// ----- runtime state -------------------------------------------------
let qSlider, fSlider, sSlider, sprayBtn, resetBtn;
let spraying = false;
let tokens = []; // {x, y, age, life, leg} flowing helium atoms
let detectorBuf = []; // ring buffer of {t, i_det} for the scope
let tSim = 0;
let lastTokenSpawn = 0;
// ----- block-diagram nodes (Pattern G: process chain) ---------------
// Seven stages, left -> right. Coordinates are box centres inside the
// PANEL rect; box width / height is shared. Each node carries a short
// ASCII label (top line) and a small descriptor (bottom line).
const BOX_W = 72;
const BOX_H = 44;
const NODES = [
{ id: 'uut', x: 50, y: 90, label: 'UUT', sub: 'test piece', tone: STRUCT },
{ id: 'spray', x: 50, y: 30, label: 'SPRAY', sub: 'He probe', tone: COLD, small: true },
{ id: 'inlet', x: 145, y: 90, label: 'INLET', sub: 'counterflow', tone: COLD },
{ id: 'rough', x: 235, y: 150, label: 'ROUGH', sub: 'scroll pump', tone: COLD },
{ id: 'turbo', x: 235, y: 90, label: 'TURBO', sub: 'molec pump', tone: COLD },
{ id: 'ion', x: 325, y: 90, label: 'ION', sub: 'cathode', tone: HOT },
{ id: 'mag', x: 405, y: 90, label: 'MAG', sub: 'm/z = 4', tone: ACCENT },
{ id: 'det', x: 405, y: 200, label: 'DET', sub: 'Faraday', tone: HOT },
{ id: 'amp', x: 325, y: 200, label: 'AMP', sub: 'preamp', tone: GAUGE },
{ id: 'out', x: 235, y: 200, label: 'OUT', sub: 'leak rate', tone: TRAJ },
];
// Directed edges drive both the arrows and the token flow.
// {from, to, leg} -- leg is an int used by the token animator.
const EDGES = [
{ from: 'spray', to: 'uut', leg: 0 },
{ from: 'uut', to: 'inlet', leg: 1 },
{ from: 'inlet', to: 'turbo', leg: 2 },
{ from: 'turbo', to: 'rough', leg: 3 },
{ from: 'turbo', to: 'ion', leg: 4 },
{ from: 'ion', to: 'mag', leg: 5 },
{ from: 'mag', to: 'det', leg: 6 },
{ from: 'det', to: 'amp', leg: 7 },
{ from: 'amp', to: 'out', leg: 8 },
];
// =====================================================================
// setup()
// =====================================================================
function setup() {
createCanvas(W, H);
pixelDensity(2);
textFont('system-ui');
textAlign(LEFT, TOP);
// ---- controls ----
// Three log/linear sliders + two buttons, packed into the bottom-
// left control panel. Every createSlider call has .position and
// .size to satisfy FES2.
qSlider = createSlider(Q_MIN_LOG, Q_MAX_LOG, -9, 0.1)
.position(CTRLS.x + 90, CTRLS.y + 8)
.size(150);
fSlider = createSlider(0, 100, 100, 1)
.position(CTRLS.x + 90, CTRLS.y + 36)
.size(150);
sSlider = createSlider(1, 4, 2, 0.1)
.position(CTRLS.x + 90, CTRLS.y + 64)
.size(150);
sprayBtn = createButton('SPRAY ON')
.position(CTRLS.x + 0, CTRLS.y + 96)
.size(110, 26);
sprayBtn.mousePressed(() => {
spraying = !spraying;
sprayBtn.html(spraying ? 'SPRAY OFF' : 'SPRAY ON');
});
resetBtn = createButton('reset scope')
.position(CTRLS.x + 130, CTRLS.y + 96)
.size(110, 26);
resetBtn.mousePressed(() => {
detectorBuf.length = 0;
tSim = 0;
});
}
// =====================================================================
// draw()
// =====================================================================
function draw() {
background(BG);
// Read parameters once at top of draw (Energy section 4 convention).
const qLog = qSlider.value(); // log10(Q) in mbar L/s
const Q = Math.pow(10, qLog);
const f = fSlider.value() / 100; // He fraction in tracer
const Ssen = sSlider.value(); // sensitivity multiplier
const dt = min(deltaTime / 1000, 0.05);
tSim += dt;
// ---- physics: detector current ----
// I_He = S_BASE * Ssen * (f if spraying else 0) * Q [amps]
// Add atmospheric He background and a small noise term.
const I_signal = S_BASE * Ssen * (spraying ? f : 0) * Q;
const I_noise = randomGaussian(0, 2e-13);
const I_det = I_signal + I_BACKGROUND + I_noise;
// Measured leak rate (what the readout shows after de-zeroing bg).
const Q_meas = max(0, (I_det - I_BACKGROUND) / (S_BASE * Ssen * max(f, 1e-3)));
// ---- ring buffer for scope ----
detectorBuf.push({ t: tSim, i: I_det });
if (detectorBuf.length > 600) detectorBuf.shift();
// ---- token animation ----
// Spawn rate scales with f*Q*Ssen so the visual flow tracks the
// physics. With Q at the lower end of the slider the flow is rare;
// with Q near 1e-6 it streams.
const spawnRate = spraying
? 30 * f * Math.pow(10, (qLog - Q_MIN_LOG) / (Q_MAX_LOG - Q_MIN_LOG) * 1.8)
: 0;
if (spawnRate > 0 && tSim - lastTokenSpawn > 1 / spawnRate) {
spawnToken();
lastTokenSpawn = tSim;
}
updateTokens(dt);
// ---- diagram ----
drawDiagramFrame();
drawEdges();
drawTokens();
drawNodes();
// ---- scope ----
drawScope(I_det);
// ---- readout panels ----
drawTopRightReadout(Q, Q_meas, I_det);
drawControlsPanel();
// ---- HUD (drawn last so it sits on top) ----
drawHUD();
}
// =====================================================================
// Block diagram (Pattern G)
// =====================================================================
function drawDiagramFrame() {
noFill();
stroke(STRUCT[0], STRUCT[1], STRUCT[2], 90);
strokeWeight(1);
rect(PANEL.x, PANEL.y, PANEL.w, PANEL.h, 4);
// panel title
noStroke();
fill(DIM);
textSize(11);
text('Helium leak detector - process chain', PANEL.x + 8, PANEL.y + 6);
}
// Look a node up by id.
function getNode(id) {
for (const n of NODES) if (n.id === id) return n;
return null;
}
// Convert a node's panel-local centre to canvas coordinates.
function nodeXY(n) {
return { x: PANEL.x + n.x + 30, y: PANEL.y + n.y + 24 };
}
// Draw all arrows. Token paths follow these segments.
function drawEdges() {
stroke(STRUCT);
strokeWeight(1.6);
noFill();
for (const e of EDGES) {
const a = nodeXY(getNode(e.from));
const b = nodeXY(getNode(e.to));
line(a.x, a.y, b.x, b.y);
drawArrowhead(a, b);
}
}
function drawArrowhead(a, b) {
const ang = atan2(b.y - a.y, b.x - a.x);
const tipX = b.x - cos(ang) * 22;
const tipY = b.y - sin(ang) * 22;
push();
translate(tipX, tipY);
rotate(ang);
fill(STRUCT);
noStroke();
triangle(0, 0, -6, -3.5, -6, 3.5);
pop();
}
// Draw the seven (plus spray + outputs) component boxes.
function drawNodes() {
textAlign(CENTER, CENTER);
for (const n of NODES) {
const c = nodeXY(n);
const w = n.small ? BOX_W - 16 : BOX_W;
const h = n.small ? BOX_H - 14 : BOX_H;
// box body
noStroke();
fill(n.tone[0], n.tone[1], n.tone[2], 40);
rect(c.x - w / 2, c.y - h / 2, w, h, 4);
// box border
noFill();
stroke(n.tone[0], n.tone[1], n.tone[2], 220);
strokeWeight(1.6);
rect(c.x - w / 2, c.y - h / 2, w, h, 4);
// labels
noStroke();
fill(FG);
textSize(n.small ? 10 : 12);
text(n.label, c.x, c.y - (n.small ? 4 : 8));
fill(DIM);
textSize(9);
text(n.sub, c.x, c.y + (n.small ? 8 : 8));
}
textAlign(LEFT, TOP);
}
// =====================================================================
// Token animation (helium atoms flowing through the chain)
// =====================================================================
function spawnToken() {
// A new token enters at the SPRAY node and walks along the EDGES
// array in order. `leg` is the current segment index.
tokens.push({ leg: 0, u: 0, born: tSim });
}
function updateTokens(dt) {
// Speed is constant along all edges -- the *density* of tokens is
// what encodes flow rate (Energy section 4 line 161 stock-and-flow).
const speed = 0.45; // fraction of one edge per second
for (const tok of tokens) {
tok.u += speed * dt;
while (tok.u >= 1 && tok.leg < EDGES.length - 1) {
tok.u -= 1;
tok.leg += 1;
}
}
// Cull tokens that reached the OUT node.
tokens = tokens.filter(t => !(t.leg === EDGES.length - 1 && t.u >= 1));
// Hard cap to keep the canvas readable.
if (tokens.length > 80) tokens.splice(0, tokens.length - 80);
}
function drawTokens() {
noStroke();
for (const tok of tokens) {
const e = EDGES[tok.leg];
const a = nodeXY(getNode(e.from));
const b = nodeXY(getNode(e.to));
const x = lerp(a.x, b.x, tok.u);
const y = lerp(a.y, b.y, tok.u);
// colour shifts along the chain: cool blue in the vacuum legs,
// warm yellow once past the ion source.
const warmth = tok.leg >= 5 ? 1 : 0;
const r = lerp(COLD[0], TRAJ[0], warmth);
const g = lerp(COLD[1], TRAJ[1], warmth);
const bl= lerp(COLD[2], TRAJ[2], warmth);
fill(r, g, bl, 220);
circle(x, y, 5);
}
}
// =====================================================================
// Time-series scope (Energy section 4 Pattern H reskin)
// =====================================================================
function drawScope(I_det) {
push();
translate(SCOPE.x, SCOPE.y);
// frame
noFill();
stroke(STRUCT[0], STRUCT[1], STRUCT[2], 90);
strokeWeight(1);
rect(0, 0, SCOPE.w, SCOPE.h, 4);
// title + axis label
noStroke();
fill(DIM);
textSize(11);
text('detector current I_det vs t', 8, 6);
textSize(9);
text('log10 I [A]', 8, SCOPE.h - 14);
text('t [s]', SCOPE.w - 36, SCOPE.h - 14);
// scope plot area
const px = 8;
const py = 26;
const pw = SCOPE.w - 16;
const ph = SCOPE.h - 50;
// grid (decades of current on y)
stroke(SCRATCH);
strokeWeight(1);
for (let dec = -14; dec <= -6; dec += 2) {
const y = map(dec, -14, -6, py + ph, py);
line(px, y, px + pw, y);
noStroke();
fill(DIM);
textSize(8);
text(dec, px - 2, y - 4);
stroke(SCRATCH);
}
// trace
if (detectorBuf.length >= 2) {
const tMin = detectorBuf[0].t;
const tMax = detectorBuf[detectorBuf.length - 1].t;
stroke(TRAJ);
strokeWeight(1.6);
noFill();
beginShape();
for (const s of detectorBuf) {
const yLog = Math.log10(max(s.i, 1e-15));
const sx = map(s.t, tMin, tMax, px, px + pw);
const sy = map(yLog, -14, -6, py + ph, py);
vertex(sx, sy);
}
endShape();
}
// live readout
noStroke();
fill(FG);
textSize(11);
const liveLog = Math.log10(max(I_det, 1e-15));
text('I_det = ' + nfsci(I_det, 2) + ' A', 8, SCOPE.h - 30);
text('log10 I = ' + nf(liveLog, 1, 2), 140, SCOPE.h - 30);
pop();
}
// =====================================================================
// Top-right numeric readout (set vs measured leak rate)
// =====================================================================
function drawTopRightReadout(Q_set, Q_meas, I_det) {
const x0 = W - 196;
const y0 = 14;
push();
noStroke();
fill(0, 130);
rect(x0, y0, 188, 36, 4);
fill(FG);
textSize(10);
text('Q_set = ' + nfsci(Q_set, 2) + ' mbar L/s', x0 + 8, y0 + 4);
text('Q_meas = ' + nfsci(Q_meas, 2) + ' mbar L/s', x0 + 8, y0 + 20);
pop();
}
// =====================================================================
// Bottom-left control panel (labels for the sliders + equation)
// =====================================================================
function drawControlsPanel() {
// panel frame
noFill();
stroke(STRUCT[0], STRUCT[1], STRUCT[2], 90);
strokeWeight(1);
rect(CTRLS.x, CTRLS.y - 6, CTRLS.w, CTRLS.h + 6, 4);
noStroke();
fill(DIM);
textSize(11);
text('controls', CTRLS.x + 8, CTRLS.y - 2);
// slider labels (sliders themselves are DOM elements positioned
// earlier in setup -- the labels go in front of them on the canvas)
fill(FG);
textSize(11);
text('log10 Q', CTRLS.x + 6, CTRLS.y + 10);
text('He %', CTRLS.x + 6, CTRLS.y + 38);
text('sens. S', CTRLS.x + 6, CTRLS.y + 66);
// live numeric next to each slider
fill(DIM);
textSize(10);
text(nf(qSlider.value(), 1, 1), CTRLS.x + 244, CTRLS.y + 12);
text(nf(fSlider.value(), 1, 0) + ' %', CTRLS.x + 244, CTRLS.y + 40);
text(nf(sSlider.value(), 1, 1), CTRLS.x + 244, CTRLS.y + 68);
// bottom-right canonical equation
fill(FG);
textSize(11);
text('Q = (I_He - I_bg) / S [mbar L/s]', W - 260, H - 18);
}
// =====================================================================
// HUD (top-left) -- Wikitube Betterfire Standard
// =====================================================================
function drawHUD() {
noStroke();
// translucent background bar
fill(0, 150);
rect(8, 8, 410, 40, 4);
// title (22pt bright)
fill(255);
textSize(22);
textStyle(BOLD);
text(TITLE, 14, 14);
textStyle(NORMAL);
// subtitle (12pt dim) -- ASCII dot, not bullet
fill(DIM);
textSize(12);
text('Wikitube microsim . en.wikitube.io/wiki/' + ARTICLE, 14, 36);
}
// =====================================================================
// helpers
// =====================================================================
// Scientific-notation formatter, ASCII-only. nfsci(1.23e-9, 2) -> "1.23e-9".
function nfsci(x, digits) {
if (x === 0) return '0';
const sign = x < 0 ? '-' : '';
const ax = abs(x);
const e = floor(Math.log10(ax));
const m = ax / Math.pow(10, e);
return sign + nf(m, 1, digits) + 'e' + e;
}
```
## Links (Wikipedia order)
<!-- injected from _registry/childlinks/Helium_mass_spectrometer.json (2026-07-30T02:09:12Z) -->
`Air_conditioning` · `CERN` · `Device_under_test` · `Enriched_uranium` · `Fire_extinguisher` · `Flow_tracer` · `Fusion_power` · `Gaseous_diffusion` · `Helium_analyzer` · [[Inert_gas]] · `Manhattan_Project` · `Mass_spectrometry` · `Metre` · `Outgassing` · `Pascal_(unit)` · `Refrigeration` · `Second` · `Switchgear` · `Test_method` · `Tire` · `Tracer-gas_leak_testing` · `Vacuum` · `Vacuum_chamber` · [[Wayback_Machine]] · `Wendelstein_7-X`
## From the vault media library
!Helium mass spectrometer thumb.png
*Helium Mass Spectrometer — from the vault's own media holdings, placed 2026-07-09. MTN / Wikitube.io original · CC BY-SA 4.0.*
<!-- LOCAL-MEDIA-PASS:END -->
> **Room:** [[Helium]] · **Status:** ✅ shipped
## Overview
The governing fact, and everything below descends from it: **helium [[Leak_detection|leak detection]] is a signal-to-background technique, not a [[Diffusion|diffusion]] technique.** Almost every datasheet leads with the small-atom argument — [[Helium|helium]] slips through holes — and that argument is true and second-order. Four conditions must hold at once, and helium is the only gas that holds all four.
**Small and monatomic.** Helium is one atom carrying a closed 1s [[Atomic_orbital|orbital]], 31 pm on the Clementi calculated radius scale where [[Hydrogen|hydrogen]] comes out at 53 pm. In [[Fluid_dynamics|free-molecular flow]] — the regime of any hole small enough to argue about — the conductance of an aperture goes as one over the square root of the [[Atomic_mass|molar mass]], because the [[Kinetic_theory_of_gases|flux]] through it is fixed by mean thermal [[Velocity|speed]]. The same physical hole therefore passes sqrt(28.9647/4.0026) = **2.690** times more helium than air. Only hydrogen beats that: sqrt(28.9647/2.0159) = 3.791, a further factor of 1.41.
**Chemically dead.** No stable compounds at room temperature, no adsorption on the walls, no [[Corrosion|corrosion]] of the part under test, not toxic, not flammable, no contribution to [[Air_pollution|air pollution]]. An [[Inert_gas|inert gas]] leaves the part exactly as it found it — which matters when the part is a finished [[Semiconductor_device|semiconductor device]], a [[Nuclear_fuel|fuel]] assembly or a charged refrigerant circuit. [[Argon|Argon]], [[Neon|neon]] and [[Krypton|krypton]] share the [[Noble_gas|inertness]] and lose on every other count.
**Nearly absent from air — and this is the condition that actually wins the argument.** Dry air is 5.24 ppmv helium, the working value in current [[Estimation_theory|measurement]] literature, tracing to Glückauf's 1944 determination, against 78.084 per cent [[Nitrogen|nitrogen]] and 20.946 per cent [[Oxygen|oxygen]]. Choosing helium rather than nitrogen as the tracer improves the ratio of [[Signal|signal]] to natural background by 0.78084 / 5.24e-6 = **1.49e5**. Five decades, free, before the [[Sensor|instrument]] is switched on; beside it the 2.690 of the effusion argument is a rounding error. If [[Diffusion|diffusivity]] alone decided the matter, [[Hydrogen|hydrogen]] would be the tracer — the reasons it is not are that it is flammable, that it exchanges with the walls, and that H2 is the dominant residual gas in every clean vacuum system, which is a background problem again. [[Signal-to-noise_ratio|Signal-to-noise]] decides it twice.
**Nothing sits near m/z 4.** The tracer is monoisotopic in practice — essentially pure [[Helium-4|helium-4]], two [[Proton|protons]] and two [[Neutron|neutrons]], with [[Helium-3|helium-3]] near one part per million of it — so the peak is not split. The neighbours of mass 4 are m/z 2 (H2+) and m/z 3 (HD+, H3+, He-3+), and the next crowded region starts at 12. A [[Filter_design|filter]] that need only separate 4 from 3 wants a resolving power near four — 4.08 on the [[Atomic_mass|atomic masses]], each less one [[Electron|electron]] — a trivially low bar. That is why the instrument can use a small permanent magnet and a wide slit and still be [[Accuracy_and_precision|perfectly specific]], and why it fits on a cart rather than filling a room.
Evacuate the vessel, spray helium on the outside, and if helium appears inside there is a [[Leak|leak]]. The [[Signal-to-noise_ratio|background]] you fight is five parts per million.
## The magnet is a mass filter made of geometry
[[Ion|Ions]] form by [[Electron|electron]] impact in a heated cathode source — Leybold's carries "two selectable yttrium oxide coated iridium cathodes", hot throughout operation — then accelerate through a potential U into a uniform magnetic field B perpendicular to their [[Velocity|velocity]]. Two equations, and nothing else:
**qU = ½mv²** — the accelerating [[Voltage|voltage]] fixes the [[Energy|kinetic energy]], hence the speed
**qvB = mv²/r** — the Lorentz [[Force|force]] bends it onto a circle
Eliminate v and the instrument falls out:
**r = mv/(qB) = (1/B)·sqrt(2Um/q)**
the relation Pfeiffer's compendium prints as its formula 4-6. Read it backwards and it is a [[Filter_design|mass filter]]: a collector slit fixed at radius r0 admits exactly one [[Atomic_mass|mass]],
**m/q = B²r0²/(2U)**
and nothing else. The magnet does not *measure* mass. It is a piece of [[Iron|iron]] of fixed [[Geometry|geometry]] and the slit is a hole in a plate; the selectivity is geometry. Retune B or U and a different mass threads the same hole — which is what the sliders in the [[WT!Three_js_Microsim_Master_Class|sim]] above do. Behind the slit sits a Faraday cup, or an [[Electron|electron]] multiplier when the last decade of [[Dynamic_range|range]] is wanted.
**A worked example, on real hardware.** A Varian (now Agilent) patent application for a leak-detector tube supplies the numbers: "main magnet 110 has a field strength of 1.7 K Gauss at the pole center" — 0.17 T — and "repeller electrode 180 and extractor electrode 174 are nominally biased at 250 volts", so [[Ion|ions]] fall through about 250 V of [[Voltage|accelerating potential]] to a grounded analyser across a 10 mm pole gap. With m(He-4+) = 4.00260325413 u less one [[Electron|electron]] mass = 4.00205467 u = 6.6456e-27 kg:
- [[Velocity|v]] = sqrt(2qU/m) = **1.098e5 m/s** — 110 km/s
- r = 4.5541e-3 / 0.17 = **26.79 mm**
- [[Angular_frequency|cyclotron period]] 2πm/(qB) = 1.533 μs, so the 90-degree bend takes **383 ns**
A 27 mm bend radius is a tube you can hold in your hand, and that — not any subtlety of [[Electronics|electronics]] — is why leak detectors are portable and isotope-ratio spectrometers are not. The same B and U put the rest of the [[Thermodynamic_system|residual gas]] at radii scaling as sqrt(m):
| m/z | ion | radius |
|---|---|---|
| 2 | H2+ | 19.01 mm |
| 3 | HD+ | 23.28 mm |
| **4** | **He-4+** | **26.79 mm** |
| 18 | H2O+ | 56.83 mm |
| 28 | N2+ | 70.86 mm |
| 32 | O2+ | 75.74 mm |
Those separations are enormous beside a 0.4 mm slit. The nearest competitor, HD+, misses by 3.51 mm — nearly nine slit widths — and [[Nitrogen|nitrogen]], which dominates the room the vessel stands in, misses by 44 mm and lands on a wall. It is the plainest form of Leybold's remark that "the radius for low masses is smaller than that for higher masses": the sector is a [[Histogram|ruler]] whose divisions are millimetres of [[Steel|steel]] and [[Iron|iron]], and whose [[Accuracy_and_precision|calibration]] is a machining tolerance.
## Resolution: two slits, an energy spread, and a factor of two
The standard tube is a 90-degree symmetric homogeneous sector with object and image distances both equal to the design radius. The [[Optical_engineering|imaging]] condition collapses to l1·l2 = r² at 90 degrees, so object, magnet apex and image are collinear at unit magnification — the arrangement usually called Barber's rule. Dispersion is 2r per unit dr/r, and since r goes as sqrt(m), dr/r is half of dm/m: the image of a mass m + dm is displaced by **dx = r·(dm/m)**. Two masses are just resolved when that displacement exceeds the image width plus the collector slit, and the source's [[Energy|energy]] spread dU smears the image by a further r·(dU/U), since r goes as sqrt(U) too. Hence
**m/dm = r / (s1 + s2 + r·dU/U)**
With r = 26.79 mm, both slits 0.40 mm, and dU = 2 eV on a 250 eV beam — squarely inside the 1 to 3 eV a real electron-impact source delivers — that is **26.4**, six times the 4.08 the job requires. The margin is the whole reason a slit that wide is acceptable, and why a permanent magnet whose field drifts with [[Thermodynamics|temperature]] is still good enough. The [[Energy|energy]] spread is not a fudge factor either: it says where the [[Ion|ion]] was born, since the [[Ionization_energy|ionisation]] volume sits inside the repeller field and ions formed at different points fall through different potentials. Resolution here is a statement about [[Geometry|geometry]] and about a [[Kinetic_theory_of_gases|thermal]] population, not about the [[Signal_processing|signal chain]].
**And here is the ambiguity worth saying out loud.** The mass peak of a slit instrument is a trapezoid — the [[Signal_processing|convolution]] of the object-slit image with the collector slit — so it has two natural [[Accuracy_and_precision|widths]], and they differ by roughly a factor of two:
- **base width** = s1 + s2 + blur — the adjacent-peak [[Detection_theory|criterion]], what the formula above computes, and what decides whether two masses can be told apart at all;
- **FWHM** = max(s1 + blur, s2) — the [[Estimation_theory|number]] most datasheets quote, about twice as flattering.
The same split runs through the wider [[Gas_chromatography|analytical]] literature under other names: the convention takes peak width "at a specified fraction of the peak height, for example 0.5%, 5%, 10% or 50%", and notes that "the value obtained from a 5% peak width is roughly equivalent to a 10% valley". For a [[Probability_density_function|Gaussian]] the 5 per cent width is 2.08 times the FWHM — the same factor of two by a different route. **Quoting an FWHM resolving power and then using it as an adjacent-peak one overstates an instrument by about two, and quoting either without saying which is the commonest [[Non-functional_requirement|specification]] ambiguity in the field.** The [[WT!Three_js_Microsim_Master_Class|three.js sim]] above measures both from one traced curve: at the 0.40 mm working slit the formula gives 26.4, the traced base width 29.1, the FWHM 58.9.
## A leak rate is a throughput, and three unit systems are in daily use
A leak rate is [[Density|pressure]] times volume per time — pV/t, a throughput rather than a volumetric flow, and so proportional to a molar flow times [[Thermodynamics|temperature]]. Three systems are in daily use and they are not interchangeable:
- 1 mbar·L/s = **0.1** Pa·m³/s
- 1 Torr·L/s = **0.133322** Pa·m³/s
- 1 atm·cc/s = **0.101325** Pa·m³/s = 1.01325 mbar·L/s
- 1 sccm = **1.68875e-3** Pa·m³/s
Notice what the third line does. **Atm·cc/s and mbar·L/s [[Accuracy_and_precision|agree to 1.3 per cent]], and both are ten times a Pa·m³/s.** That factor of ten is where the [[Estimation_theory|trap]] lives, because both of these appear in the literature as "1e-12":
- Leybold: "A leak rate of 1.0·10⁻¹² mbar·l/s corresponds to hole diameter of 1 angstrom (Å); this is the lower detection limit for modern helium leak detectors" — that is **1e-13 Pa·m³/s**.
- Wikipedia: "Typically a helium leak detector will be used to measure leaks in the range of 10⁻⁵ to 10⁻¹² Pa·m³·s⁻¹" — that is **1e-11 mbar·L/s**.
They differ by a factor of ten and each is correct in its own units. Pfeiffer's compendium gives the magnetic-sector helium range as 1e-13 to 1e-3 Pa·m³·s⁻¹; Wikipedia's own [[Time_series|history]] puts the best modern [[Sensor|detectors]] near 1e-13 Pa·m³·s⁻¹, up from about 1e-7 in 1946 and 1e-10 by 1970 — a factor of a million in fifty years, one of the steepest [[Signal-to-noise_ratio|sensitivity]] curves in [[Instrumentation_and_control_engineering|instrumentation]]. Reconciled for units, all three agree. **A quoted "1e-12" that does not carry its units is not a number.**
A second, quieter ambiguity hides inside "std cc/s": the reference [[Thermodynamics|temperature]] is not universal. Cincinnati Test Systems states the conditions as "101.325 kPa (14.696 psia) and 293 K (20 C)", then warns that "for some other scientific situations 0 C and 22 C are referenced as standard temperatures". Between 0 °C and 20 °C the molar volume differs by **7.3 per cent**, so the molecule count in a "standard cc" is 7 per cent ambiguous before anyone touches an [[Sensor|instrument]]. Nor is the unit niche: MIL-STD-883 Method 1014, the seal test that qualifies every hermetic microelectronic package, is written throughout in atm·cm³/s. [[Accuracy_and_precision|Calibration]] runs against a permeation reference leak of certified rate, NIST-traceable — the step that turns a collector current into a number another laboratory can [[Repeatability|reproduce]], and the one [[Quality_assurance|quality assurance]] actually audits.
## What sets the floor, and it is not the amplifier
The chain is short. A leak Q raises a helium partial [[Density|pressure]] p = Q/S_eff at the spectrometer, where S_eff is the effective helium [[Fluid_dynamics|pumping speed]] there; that pressure makes an [[Electric_current|ion current]] I = T · S_gauge · R_He · I_emission · p, in which T is the fraction of ions the [[Geometry|geometry]] delivers through the slit and everything else is a constant of the source. Take the nominal Bayard-Alpert [[Sensor|gauge]] sensitivity for [[Nitrogen|nitrogen]], 10 Torr⁻¹; helium's standard relative sensitivity of 0.18, which Stanford Research Systems and Duniway publish digit for digit alike; 1 mA of emission; S_eff of 2.5 L/s; transmission near 0.6. A leak of **1e-12 Pa·m³/s** gives p = 4e-10 Pa and about **3e-15 A** at the collector — roughly 2e4 elementary charges per second.
Twenty thousand [[Ion|ions]] a second is comfortable for a good [[Electronics|electrometer]] and easy for an electron multiplier. **What stops you going lower is not [[Noise_(electronics)|amplifier noise]] — it is the residual helium already inside the instrument**: adsorbed on walls, dissolved in elastomer seals, [[Porous_medium|permeating]] steadily through glass and [[Silicon_dioxide|quartz]]. That is why the floor sits near 1e-13 Pa·m³/s rather than three decades lower, and why the detuning experiment in the sim matters. A magnet tuned off mass 4 does not read zero; it reads a large, steady, meaningless number, because [[Nitrogen|nitrogen]] at 1.5e-5 Pa deposits charge on a Faraday cup exactly as helium does and a cup counts charge without knowing what carried it. [[Detection_theory|Detection]] here is an argument about specificity, not about gain.
## Two operating modes, geometric inverses of each other
**Sprayed probe — the vacuum test.** The vessel is evacuated and connected to the detector, helium is sprayed on the *outside*, gas flows *in* through the hole, and the [[Sensor|instrument]] sits on the [[Fluid_dynamics|pump line]] watching the exhaust of the thing under test. This is the sensitive mode: the sourced floor is 1e-12 mbar·L/s = 1e-13 Pa·m³/s, and everything the technique is famous for lives here.
**Sniffer — the pressurised test.** The vessel is filled with helium above atmospheric [[Density|pressure]] and the probe is moved over the *outside*, sampling room air. The [[Geometry|geometry]] is the vacuum test turned inside out, and the [[Detection_theory|penalty]] is severe: Leybold's quoted sniffer limit is 1e-7 mbar·L/s = 1e-8 Pa·m³/s — four to five decades worse.
**The reason is the 5.24 ppm, working the other way.** In vacuum mode the atmosphere's helium is on the far side of a wall and the instrument sees only what came through the hole. In sniffer mode the probe inlet breathes that atmosphere continuously. At a 30 sccm sample flow the helium background reaching the detector is 5.24e-6 × 30 × 1.68875e-3 = **2.65e-7 Pa·m³/s**, forever — over six decades above the vacuum-mode floor. It is not [[Noise_(electronics)|noise]] that averaging removes; it is a real, steady helium [[Signal|signal]] [[Accuracy_and_precision|indistinguishable]] from the one you want. Modern machines subtract it [[Signal_processing|digitally]] and work "two decades below the background level", which is how the best-case sniffing figure of 5e-10 Pa·m³/s is reached — but every decade below background is a decade of trusting an [[Estimation_theory|estimate]] rather than a [[Transducer|transducer]]. One tracer, one atmosphere, two signs.
A third arrangement, **accumulation**, sits between them: the part is sealed in a [[Closed_system|closed chamber]] and the helium concentration rises monotonically with total leakage, trading [[Time_domain|response time]] for [[Signal-to-noise_ratio|sensitivity]] on parts too awkward to evacuate.
## Response and clean-up: tau = V/S
Both modes behave as first-order lags, and one line covers both: **tau = V/S_eff** — Pfeiffer's formula 2-4 — with 63 per cent of the equilibrium reading reached at one [[Time_domain|time constant]]. Leybold defines the response time as the time to 95 per cent and says so plainly: "The time span t − t0 which is required to reach 95% of the ultimate value is referred to as response time. This is given by 3 tau." Clean-up, the decay after the spray moves away, is the same exponential run backwards with the same tau, which is why the two are always quoted together. It is the [[Impulse_response|step response]] of a single-pole [[Transfer_function|transfer function]], and no more.
The consequence is the one operators feel. A 5 L test volume on 2.5 L/s of effective helium [[Fluid_dynamics|pumping speed]] gives tau = 2 s and a 6 s response, so the probe can move. The same 2.5 L/s under a 5,000 L chamber gives **tau = 2,000 s** — over half an hour to a confident reading, and the same again to clear it before the next probe position means anything. A big chamber on a small pump is slow both ways, and no amount of detector [[Signal-to-noise_ratio|sensitivity]] repairs it, because the time constant belongs to the vacuum system and not to the [[Sensor|instrument]]. That is why leak testing is a [[Process_engineering|discipline]] of moving the probe slowly and waiting, why the ratio V/S_eff rather than raw pump size is the number worth [[Mechanical_engineering|engineering]], and why a technician who scans fast walks past holes the [[Signal|signal]] chain could easily have seen. As a [[Control_theory|control]] problem the [[Sensor|detector]] is fast and the [[Control_system|plant]] is slow, and the plant wins.
## Where it is used, and what it costs the element
Wherever a seal is load-bearing. **Vacuum and [[Cryogenics|cryogenic]] systems**: vacuum-insulated cryostats, [[Superconducting_magnet|superconducting magnet]] dewars, [[Dilution_refrigerator|dilution refrigerator]] still lines, beamline sections — a [[Liquid_helium|liquid helium]] system that leaks does not merely underperform, it loses its charge and its [[Superconductivity|superconductivity]] with it, so [[Helium_cryogenics|helium cryogenics]] is the technique's native habitat. Large [[Physics|physics]] plant is qualified this way, from LHC magnet cryostats to the ITER vacuum vessel and the [[Nuclear_fusion|fusion]] devices behind it. **Refrigeration and automotive**: heat-pump and air-conditioning circuits, fuel and refrigerant systems, sniffed on the line as a step in [[Manufacturing|manufacturing]] rather than in a laboratory. **[[Aerospace_engineering|Aerospace]]**: propellant tanks, [[Rocket_propellant|pressurant]] systems and pressure vessels where [[Reliability_engineering|reliability]] is the specification and [[Fracture_mechanics|fracture]] is the consequence. **[[Semiconductor_device_fabrication|Semiconductor tooling]]**: process chambers and gas panels, plus hermetic qualification of semiconductor and MEMS packages under MIL-STD-883 and the DLA hermeticity specifications. In each case the test hunts a defect rather than a shortfall, which makes it a pass/fail gate rather than a [[Time_series|trend]] — a [[Failure_mode_and_effects_analysis|failure mode]] found or not found, and one of the few [[Ultrasonic_testing|non-destructive]] methods that can prove a negative to six decimal places.
The element pays for it. USGS *Mineral Commodity Summaries 2026* gives the 2025 [[Helium_production_in_the_United_States|United States]] pattern as "analytical, engineering, lab, science, and specialty gases (22%); controlled atmospheres, fiber optics, and semiconductors (17%); lifting gas (17%); magnetic resonance imaging (15%); aerospace (9%); [[Gas_tungsten_arc_welding|welding]] (8%); [[Breathing_gas|diving]] (5%); leak detection (5%); and other applications (2%)". **Leak detection is 5 per cent of national helium use** — a share nobody argues about beside [[Magnetic_resonance_imaging|MRI]] and [[Lifting_gas|balloons]], and one that is almost purely dissipative: the tracer is sprayed into a room and lost. At 5.24 ppmv it will never be economically recovered from there, because the [[Second_law_of_thermodynamics|thermodynamics]] of [[Distillation|separating]] a five-part-per-million component is exactly what makes helium a good tracer in the first place. **The property that makes the technique work is the property that makes every gram sprayed a gram gone.** [[Closed_system|Closed-loop]] recovery of the tracer on high-volume lines, and [[Helium_storage_and_conservation|conservation]] practice generally, are the only levers that exist.
## See also
- Room hub: [[Helium]]
- p5.js Editor conventions: P5 JS EDITOR
- Wiki root: MAIN
---
*Scaffolded by `generative-microsim` from row 93 of the Helium sheet on 2026-05-12T11:09:36Z.*
*Sources: 1 legacy note. Minted wave 1, 2026-07-30 (v1.6 order).*
<!-- LOCAL-MEDIA-PASS:START -->
<!-- CRAFT-LINK:START g12 -->
*Built to the [[WT!P5_js_Microsim_Master_Class|p5.js Master Class]].*
<!-- CRAFT-LINK:END -->
## Sources
Annotated; one clause each on what the source establishes. Bibliography lines are link-light by house rule (§4). Arithmetic attributed to "this article" was recomputed here from the quoted inputs and is not a quoted figure.
**The tracer argument and the atmosphere**
- Birner, B., Morgan, E., and Keeling, R. F. (2023). "Short-term variability of atmospheric helium revealed through a cryo-enrichment method." *Atmospheric Measurement Techniques* **16**, 1551–1561. doi:[10.5194/amt-16-1551-2023](https://doi.org/10.5194/amt-16-1551-2023) — the working atmospheric value, verbatim: "Assuming an atmospheric He content of 5.24 ppm (Glückauf, 1944)". This is the number the whole signal-to-background argument rests on; the vacuum industry rounds it to 5 ppm and Leybold's own text does. The 1.49e5 ratio against 78.084 per cent nitrogen is this article's arithmetic on it.
- Wikipedia, "Helium mass spectrometer" — verbatim: "Helium is used as a tracer because it penetrates small leaks rapidly. Helium also has the properties of being non-toxic, chemically inert and present in the atmosphere only in minute quantities (5 ppm)"; "Typically a helium leak detector will be used to measure leaks in the range of 10⁻⁵ to 10⁻¹² Pa·m³·s⁻¹"; "The sensitivity of the apparatus was in 1946 ~10⁻⁷ Pa·m³·s⁻¹ and it increased to ~10⁻¹⁰ Pa·m³·s⁻¹ by 1970. Nowadays the quoted sensitivity of the most sensitive detectors is ~10⁻¹³ Pa·m³·s⁻¹"; and "Modern machines can digitally remove the helium two decades below the background level and thus it is now possible detect leaks as small as 5·10⁻¹⁰ Pa·m³·s⁻¹ in sniffing mode." Tertiary, and used chiefly as the second half of the units trap.
- Wikipedia, "Atomic radius" — the Clementi calculated radii, helium 31 pm against hydrogen 53 pm, used for the "smallest atom" claim in the form in which it is actually true. On the Slater empirical scale hydrogen is smaller, at 25 pm; the claim is stated on the calculated scale for that reason.
**The instrument and its hardware numbers**
- Leybold, *Fundamentals of Leak Detection* (2024 edition). [leybold.com](https://www.leybold.com/content/dam/brands/leybold/downloads/gated/Fundamentals-of-leak-detection-2024.pdf) — verbatim: "The natural amount of helium in the atmosphere amounts to 5·10⁻⁴ volume percent ( = 5 ppm)"; "1 mbar·l/s = 0.1 Pa·m³/s"; "A leak rate of 1.0·10⁻¹² mbar·l/s corresponds to hole diameter of 1 angstrom (Å); this is the lower detection limit for modern helium leak detectors"; "Using sniffer processes, it is possible to detect leak rates of more than 1·10⁻⁷ mbar·l/s"; "The time span t − t0 which is required to reach 95% of the ultimate value is referred to as response time" with "t − t0 = 3 τ → 95.0 % of ultimate value"; the "two selectable yttrium oxide coated iridium cathodes" and the permanently heated ion source; and, on the sector, "the radius for low masses is smaller than that for higher masses". The load-bearing source for both mode floors and for the response-time convention.
- Pfeiffer Vacuum, *Compendium: Leak Detection*. [pfeiffervacuum.com](https://www.pfeiffervacuum.com/media/documents/leak-detection-know-how/leak-detection-compendium-pfeiffer-vacuum.pdf) — formula 4-6, the radius of an ion in a magnetic sector field; formula 2-4, "τ = V/Seff", with 63 per cent of the equilibrium value reached at one time constant; the magnetic-sector helium measuring range "10⁻¹³ to 10⁻³ Pa m³ s⁻¹"; and the spraying and sniffing methods. **Caution**: the PDF's formula 4-6 does not survive text extraction cleanly — the algebraic form printed in this article, r = (1/B)·sqrt(2Um/q), is derived here from qU = ½mv² and qvB = mv²/r rather than transcribed, and it is what reproduces every radius in the table.
- US patent application **US 2007/0187592 A1** (Varian Inc., later Agilent Technologies), "High sensitivity slitless ion source mass spectrometer for trace gas leak detection". [patents.google.com](https://patents.google.com/patent/US20070187592A1/en) — verbatim: "main magnet 110 has a field strength of 1.7 K Gauss at the pole center"; "repeller electrode 180 and extractor electrode 174 are nominally biased at 250 volts" over a range "200 to 280 volts"; "filaments 170 and 172 are nominally biased at 160 volts"; "length 204 of extractor slit 200 is 8 millimeters" and width 3 mm; "gap 116 has a dimension of 10 millimeters"; and a stated sensitivity requirement of "1e-11 std-cc/sec or less". Every hardware number in the worked example comes from here; the radii, velocity and cyclotron period are this article's arithmetic on them.
- NIST, *Atomic Weights and Isotopic Compositions*. [physics.nist.gov](https://physics.nist.gov/cgi-bin/Compositions/stand_alone.pl?ele=He) — He-4 relative atomic mass 4.00260325413(6), He-3 3.0160293201(25), standard atomic weight 4.002602(2). The ion masses used above are the neutral masses less one electron mass (5.485799e-4 u), a 0.014 per cent correction for helium — it would matter at m/dm = 7000 and is irrelevant at 26, but it is free to get right. **[UNVERIFIED in this pass]**: the H, D, N-14 and O-16 masses used for the other radii were taken from the microsim's own AME2020/CIAAW-sourced header and not re-opened against the AME2020 tables; they are standard to the digits printed.
- Stanford Research Systems, *IGC100 Ion Gauge Controller*, Appendix A (Bayard-Alpert ionization gauges). [thinksrs.com](https://www.thinksrs.com/downloads/pdfs/manuals/igc100mApp.pdf) — the relation "Ic = S·Ie·P"; "The sensitivity of a 'conventional' BAG ... is nominally 10 Torr-1"; and "Typical nitrogen sensitivity factors for commercially available BAGs fall in the range of 8 to 45 Torr-1". The last clause is the honest caveat on the collector-current estimate: the gauge constant itself spans a factor of five across commercial hardware.
- Duniway Stockroom, *Ion Gauge Gas Correction Factors*. [duniway.com](https://www.duniway.com/sites/default/files/images/_pg/ion-gauge-gas-correction-factors.pdf) — an independent table agreeing with SRS digit for digit: He 0.18, Ne 0.30, H2 0.46, N2 1.00, O2 1.01, H2O 1.12, Ar 1.29, CO2 1.42. Two independent publishers of the same 0.18 is why that factor is used without a range.
**Units, resolution and standards**
- Cincinnati Test Systems, *sccm, ccm, and accm Leak Rate Units*. [cincinnati-test.com](https://www.cincinnati-test.com/leak-rate-units) — verbatim: "Standard is referenced as 101.325 kPa (14.696 psia) and 293 K (20 C)", and the warning that "For some other scientific situations 0 C and 22 C are referenced as standard temperatures." The 7.3 per cent molar-volume spread between 0 °C and 20 °C is this article's arithmetic.
- **MIL-STD-883K, Method 1014.15, "Seal"** (25 April 2016). [norcomsystemsinc.com](https://norcomsystemsinc.com/wp-content/uploads/2016/08/MIL-STD-883-Rev-K.-Test-Method-1014.15-for-Microcircuits.pdf) — verbatim purpose, "to determine the effectiveness (hermeticity) of the seal of microelectronic devices with designed internal cavities"; the requirement for "a mass spectrometer-type leak detector preset and properly calibrated for a helium leak rate sensitivity sufficient to read measured helium leak rates of 10⁻⁹ atm cm³/s and greater"; and the fact that the whole standard is written in atm·cm³/s, which is why that unit will not go away.
- Wikipedia, "Resolution (mass spectrometry)" — verbatim: ΔM taken "at a specified fraction of the peak height, for example 0.5%, 5%, 10% or 50%. The latter is called the full width at half maximum (FWHM)"; the valley definition; and "The value obtained from a 5% peak width is roughly equivalent to a 10% valley". The Gaussian factor 2.08 between the 5 per cent width and the FWHM is this article's arithmetic, and it is the analytical-chemistry twin of the trapezoid factor of two derived above. **[UNVERIFIED in this pass]**: the attribution of the collinear object-apex-image condition to Barber (1933) is the standard textbook attribution and was not traced to the original paper here; the condition itself, l1·l2 = r² at 90 degrees, is derived above rather than quoted.
**Consumption**
- U.S. Geological Survey, *Mineral Commodity Summaries 2026*: Helium. [pubs.usgs.gov](https://pubs.usgs.gov/periodicals/mcs2026/mcs2026-helium.pdf) — the 2025 United States end-use pattern quoted verbatim in the closing section, including leak detection at 5 per cent. The only figure in this article for how much of the element the technique actually consumes, and the reason the closing paragraph exists.
**On the microsim's own numbers**
- The traced resolution figures (base 29.1 and FWHM 58.9 at the 0.40 mm slit, against 26.4 from the formula), the transmission figures, the derived detection floors and the sniffer background are computed by the three.js sim itself from the sourced inputs above, and are reported here as the sim's measurements rather than as literature values. Its own header documents every model assumption — sector geometry, source geometry, residual-gas partial pressures, display compression — separately from its sourced facts, and that separation is why they can be quoted at all.
## Wikipedia : Wikitube
**Strict pair:** [Wikipedia](https://en.wikipedia.org/wiki/Helium_mass_spectrometer) : [Wikitube](https://en.wikitube.io/wiki/Helium_mass_spectrometer)
## Previous hub tags
Tree parent: [[Helium]].
Legacy hubs: none.
Hubs: `Life_Physics`. Portals: [[PORTAL_Helium]].