pub struct Region {
pub open_counts: Vec<f64>,
pub sample_counts: Vec<f64>,
pub open_live: Option<Vec<f64>>,
pub sample_live: Option<Vec<f64>>,
pub background: [Value; 5],
pub pixels: f64,
pub gamma_transmission: Value,
pub capture_gammas: Value,
pub in_scatter: Value,
pub timing_offset_us: Value,
pub material: Option<Material>,
}Expand description
The counts of a set of pixels in both runs, its background and the material the beam crosses there.
Fields§
§open_counts: Vec<f64>Raw counts of the open-beam run, one per bin.
sample_counts: Vec<f64>Raw counts of the sample run, one per bin.
open_live: Option<Vec<f64>>The fraction of the open-beam run’s counts arriving in each bin that
the detector records, in (0, 1]; None records every one.
sample_live: Option<Vec<f64>>The fraction of the sample run’s counts arriving in each bin that the
detector records, in (0, 1]; None records every one.
background: [Value; 5][b0, b1, b2, d, f] of the background
b(E) = b0 + b1/√E + b2·√E + d·exp(−f/√E): b0 and d
dimensionless, b1 in √eV, b2 in 1/√eV and f in √eV, f 0 or
more and the others any real number.
pixels: f64The region’s area in pixels, finite and positive.
gamma_transmission: ValueThe fraction of the time background that reaches the region’s pixels in the sample run through what is in front of them, within 0–1.
capture_gammas: Valueε, the share of the neutrons captured in the region’s sample whose
gammas its pixels record, 0 or more: the sample run gains
c_q·a·ε·φ·(1 − T)·Σ_m n_m σ_γm/D, the captures at the neutrons’ first
collision, σ_γm each isotope’s capture cross section broadened like
its total one, at the neutrons’ flight times.
in_scatter: ValueΩ, the share of the neutrons scattered once in the region’s sample
and leaving through its back face that its pixels record, 0 or more:
the sample run gains c_q·a·Ω·φ·Σ_m n_m σ_sm·G_m, σ_sm each isotope’s
elastic cross section broadened like its total one and G_m its share
leaving through the back face (forward_yield), at the mean areal
density and the neutrons’ flight times.
timing_offset_us: Valueδt in µs, any real number: the region’s pixels record every count
δt later than t0’s clock, a neutron of flight time u at
t0 + δt + u and the time background δt late.
material: Option<Material>The material the beam crosses in the region; None for nothing, which
transmits every neutron.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Region
impl RefUnwindSafe for Region
impl Send for Region
impl Sync for Region
impl Unpin for Region
impl UnsafeUnpin for Region
impl UnwindSafe for Region
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