Remove gA-extraction notes, nuclear-structure notes, paper-summary
refs, detector-response correction note and the finished test
migration checklist. Rewrite the vault index for the single-package
theory calculator; repoint dangling wiki-links in surviving notes to
inline citations; refresh docs_check.py (drop bs_exp CLI check,
register removed files).
Literature and nuclear-structure research resumes in dedicated
projects; the removed notes are recoverable from history.
# Finite Nuclear Size Effects — $L_0$, $U(Z,W)$, and $DFS$
@@ -17,7 +17,7 @@ The Fermi function ([[corrections/01-fermi-function]]) assumes a point charge nu
> [!note] Two types of "finite size"
> 1. **Electrostatic** ($L_0$, $U$, $DFS$): Potential difference when moving from point charge to realistic nuclear shape — applied *after* evaluating wave function at origin
> 2. **Convolution**: Integration of leptonic wave functions over the nuclear volume — appears in shape factor $C(Z,W)$ ([[nuclear-structure/01-shape-factors]])
> 2. **Convolution**: Integration of leptonic wave functions over the nuclear volume — appears in the nuclear structure shape factor $C(Z,W)$ (external theory, out of scope here)
where $L_0^*$ integrates over a continuous superposition of uniformly charged spheres (Eq. 39).
> [!tip] Magnitude
> Effect can reach several parts in $10^3$. Partially canceled by nuclear structure deformation correction $D_C$ ([[nuclear-structure/01-shape-factors]]). Figure 1 of Hayen shows energy dependence reversal between β⁻ and β⁺ for $\beta_2 = 0.2$.
> Effect can reach several parts in $10^3$. Partially canceled by nuclear structure deformation correction $D_C$ (external theory, out of scope here). Figure 1 of Hayen shows energy dependence reversal between β⁻ and β⁺ for $\beta_2 = 0.2$.
@@ -37,7 +37,7 @@ Screening strength is adjusted for best agreement with bound state energies (dec
## Analytical Parametrisation — Hayen et al. 2018
The exchange correction $X(W)$ as a function of kinetic energy uses empirical fit coefficients from Table X of [[refs/electromagnetic/2017_Hayen_analytical_beta_shape/summary]]. Coefficients are tabulated for all atoms with $Z = 2$ through $z = 120$.
The exchange correction $X(W)$ as a function of kinetic energy uses empirical fit coefficients from Table X of Hayen et al., *Rev. Mod. Phys.***90**, 015008 (2018). Coefficients are tabulated for all atoms with $Z = 2$ through $z = 120$.
Detector response convolution bridges the gap between theoretical beta spectra and experimentally measured data. A theoretical spectrum $\\Phi(W)$ assumes perfect energy resolution, while real detectors smear the true energy distribution due to finite resolution, charge collection inefficiencies, and electronic noise.
- $\\Phi(W_i)$ — theoretical differential spectrum at true energy $W_i$
- $R(E_j; W_i)$ — detector response probability: probability that an electron of true energy $W_i$ deposits energy $E_j$ in channel $j$
- $\\Delta W_i$ — energy bin width at $W_i$
- $M_j$ — predicted measured counts in detector channel $j$
## Two Modes of Operation
### Tabulated Response
Receive a pre-computed response matrix from Monte Carlo simulations (GEANT4, EGSNRC) or dedicated calibration measurements. The matrix has shape $(N\_{\\text{calib}}, N\_{\\text{channels}})$, where each row $i$ is the detector response to mono-energetic electrons at calibration energy $E_i$.
```python
frombeta_spectrumimportDetectorResponse
# Load from MC simulation output
detector=DetectorResponse.from_mc_simulation(
channel_energies=channel_grid,
response_matrix=mc_response,
calibration_energies=mc_energies,
)
```
### Analytical Model
Parameterized model with Gaussian core + exponential tail, suitable for quick estimates when no tabulated response is available.
```python
detector=DetectorResponse.from_gaussian_params(
channel_energy_range=(1.0,1.6),# in m_e units
n_channels=4096,
sigma_a=0.0,# energy-independent resolution (m_e)
sigma_b=0.0,# sqrt(E) contribution (m_e^{-1/2})
tail_fraction=0.0,# fraction of events in exponential tail
1.**Build response matrix**: For each energy bin $W_i$, compute the detector response $R(E_j; W_i)$ across all channels $j$. Result: matrix of shape $(N\_{\\text{bins}}, N\_{\\text{channels}})$.
1.**Weight by spectrum**: Multiply each response row by the theoretical spectrum value $\\Phi(W_i)$ and bin width $\\Delta W_i$.
1.**Sum over energies**: For each channel $j$, sum contributions from all energy bins:
The bin width is computed as the half-bin average: $\\Delta W_i = \\frac{1}{2}(\\Delta W\_{i-1/2} + \\Delta W\_{i+1/2})$.
> [!note] Normalization
> Each response function $R(E; W_i)$ is normalized to unit area before convolution. This ensures that convolving a mono-energetic line produces a response with the same total counts. The final convolved spectrum preserves the integral of the theoretical spectrum.
## Energy Units
All detector response computations use **total energy in units of $m_e c^2$** (natural units, $m_e = 1$):
- $m_e c^2 = 510.998950$ keV
- Conversion: $W = 1 + T / (m_e c^2)$ where $T$ is kinetic energy
- A resolution of $\\sigma = 1.0$ keV corresponds to $\\sigma = 1.0 / 511.0 \\approx 0.00196$ in $m_e$ units
> [!warning] Unit consistency
> The detector channel energy range and the spectrum energy grid must be in the same units (total energy in $m_e$ units). Use `T_to_W()` from `beta_spectrum.utils` to convert kinetic energy in MeV to total energy in $m_e$ units.
## Physical Interpretation
The convolution operation smears the sharp theoretical spectrum into a realistic measured spectrum:
- **Peak broadening**: Finite energy resolution widens spectral features
- **Endpoint smearing**: The sharp cutoff at $W_0$ becomes a gradual fall-off
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.