pub struct ResonanceRange {
pub energy_low: f64,
pub energy_high: f64,
pub resolved: bool,
pub formalism: ResonanceFormalism,
pub target_spin: f64,
pub scattering_radius: f64,
pub naps: i32,
pub ap_table: Option<Tab1>,
pub l_groups: Vec<LGroup>,
pub rml: Option<Box<RmlData>>,
pub urr: Option<Box<UrrData>>,
pub r_external: Vec<RExternalEntry>,
}Expand description
A single energy range within the resolved resonance region.
Fields§
§energy_low: f64Lower energy bound (eV).
energy_high: f64Upper energy bound (eV).
resolved: boolResolved (true) or unresolved (false).
formalism: ResonanceFormalismResonance formalism used in this range.
target_spin: f64Target spin (I).
scattering_radius: f64Scattering radius (fm).
Constant value from the ENDF CONT header AP field.
When ap_table is Some, use scattering_radius_at(energy_ev) instead
of reading this field directly — the table provides the energy-dependent
value, clamping to the nearest endpoint for energies outside the table
range. This constant is only used when ap_table is None (NRO=0).
naps: i32NAPS flag: scattering radius calculation control.
NAPS=0: use the channel radius for penetrability/shift calculations. NAPS=1: use the scattering radius (AP or AP(E)) for penetrability/shift. Reference: ENDF-6 Formats Manual §2.2.1
ap_table: Option<Tab1>Energy-dependent scattering radius AP(E) (fm), present when NRO=1.
ENDF-6 §2.2.1: when NRO≠0 a TAB1 record immediately follows the range
CONT header to give AP(E) as a piecewise function. At each energy the
table value replaces the constant scattering_radius in penetrability,
shift, and hard-sphere phase calculations.
None when the range has NRO=0 (constant AP).
Reference: ENDF-6 Formats Manual §2.2.1; SAMMY mlb/mmlb1.f90
l_groups: Vec<LGroup>Spin groups for LRF=1/2/3 (L-grouped). Empty for LRF=7 and LRU=2.
rml: Option<Box<RmlData>>R-Matrix Limited data for LRF=7. None for LRF=1/2/3 and LRU=2.
urr: Option<Box<UrrData>>Unresolved Resonance Region data (LRU=2). None for all LRU=1 ranges.
When Some, cross-sections are computed via the Hauser-Feshbach
formula in nereids_physics::urr::urr_cross_sections.
r_external: Vec<RExternalEntry>R-external (background R-matrix) entries per spin group.
Diagonal, real-valued corrections to the R-matrix that approximate the effect of distant (unresolved) resonances. Keyed by (L, J).
Populated from SAMMY’s “R-EXTERNAL PARAMETERS FOLLOW” section. Empty for ENDF-only data or SAMMY cases without R-external.
SAMMY Ref: Manual Section II.B.1.d, mpar03.f90 Readrx
Implementations§
Source§impl ResonanceRange
impl ResonanceRange
Sourcepub fn scattering_radius_at(&self, energy_ev: f64) -> f64
pub fn scattering_radius_at(&self, energy_ev: f64) -> f64
Scattering radius at a given neutron energy.
Returns the interpolated value from ap_table when NRO=1 (energy-dependent
radius), or the constant scattering_radius when NRO=0.
Use this method in all physics calculations that need the channel radius,
rather than reading scattering_radius directly.
§Arguments
energy_ev— Lab-frame neutron energy in eV.
Sourcepub fn resonance_count(&self) -> usize
pub fn resonance_count(&self) -> usize
Total resonance count for this range (works for both LRF=1/2/3 and LRF=7).
Trait Implementations§
Source§impl Clone for ResonanceRange
impl Clone for ResonanceRange
Source§fn clone(&self) -> ResonanceRange
fn clone(&self) -> ResonanceRange
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more