pub fn urr_cross_sections(
urr: &UrrData,
e_ev: f64,
ap_fm: f64,
) -> (f64, f64, f64, f64)Expand description
Compute energy-averaged Hauser-Feshbach cross-sections in the Unresolved Resonance Region (width-fluctuation correction not yet applied; see the module docs).
Returns (total, elastic, capture, fission) in barns.
All four are zero when e_ev falls outside the URR energy band
[urr.e_low, urr.e_high].
elastic = compound-nuclear elastic + smooth potential scattering.
total = elastic + capture + fission + competitive (GX).
Potential scattering σ_pot = 4π·AP²/100 (AP in fm, result in barns)
is folded in here rather than at the call site, so the URR band yields a
physically complete elastic cross-section.
§SAMMY Reference
SAMMY manual Section VIII.A — energy-averaged cross-section equations.
§Arguments
urr— Parsed URR parameters (LRF=1 or LRF=2).e_ev— Neutron lab-frame energy in eV.ap_fm— Scattering radius in fm at this energy. The caller is responsible for evaluating any AP(E) table (NRO≠0) or falling back to the constanturr.ap.
§Panics
Panics if e_ev is not finite or is non-positive. This is a
defensive guard at the public boundary; the Python wrapper and the
SAMMY-style dispatcher already validate the energy grid via
validate_energy_grid, so this assertion only fires for direct
callers (other Rust crates, tests) that bypass the grid check.