pub enum ResolutionFamily {
Gaussian,
UdrCorr {
base: Arc<TabulatedResolution>,
},
IkedaCarpenter {
fit_psr: bool,
},
}Expand description
The resolution-model family to calibrate.
Variants§
Gaussian
Gaussian (Δt_µs, ΔL_m).
UdrCorr
Width-corrected tabulated UDR: fit (log s0, p) against base.
Fields
base: Arc<TabulatedResolution>Base Monte-Carlo kernel to correct.
IkedaCarpenter
Ikeda–Carpenter, physics-complete and bounded (#642):
θ = [ln a0, ln a1, ln β, R] with α(E) = e^{θ0}√E + e^{θ1} (positive
by construction), β = e^{θ2} bounded, scalar R = θ3 ∈ [0, 1], all
folded with the SNS PSR channel triangle
(CalibrationConfig::psr_fwhm_ns, default DEFAULT_PSR_FWHM_NS).
Fields
fit_psr: boolAlso fit the PSR triangle FWHM: appends θ4 (µs, box-bounded
0.05–1.0 µs, started at CalibrationConfig::psr_fwhm_ns
clamped into that box). A positive starting width outside the box
— legal as a pin up to PSR_FWHM_PIN_CEILING_US — starts at
the nearer box edge with a stderr warning; a fit that stays there
reports psr_fwhm_us:lower / :upper in
CalibrationResult::bounds_hit. Off by default — the 350 ns
SNS PSR width is machine metrology, not a per-experiment unknown.
Implementations§
Source§impl ResolutionFamily
impl ResolutionFamily
Sourcepub fn param_names(&self) -> Vec<&'static str>
pub fn param_names(&self) -> Vec<&'static str>
Names of the raw optimizer coordinates, in CalibrationResult::theta
order. Used to label CalibrationResult::bounds_hit; the ln_*
prefixes flag exp-encoded coordinates (decode via
CalibrationResult::resolution rather than by hand).
Trait Implementations§
Source§impl Clone for ResolutionFamily
impl Clone for ResolutionFamily
Source§fn clone(&self) -> ResolutionFamily
fn clone(&self) -> ResolutionFamily
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ResolutionFamily
impl RefUnwindSafe for ResolutionFamily
impl Send for ResolutionFamily
impl Sync for ResolutionFamily
impl Unpin for ResolutionFamily
impl UnsafeUnpin for ResolutionFamily
impl UnwindSafe for ResolutionFamily
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more