pub struct SummaryTally {Show 15 fields
pub histories: u64,
pub budget: EnergyBudget,
pub max_relative_residual: f64,
pub primaries_stopped: u64,
pub backscattered: u64,
pub transmitted: u64,
pub sputtered: u64,
pub recoils_transmitted: u64,
pub lateral: u64,
pub recoils_lateral: u64,
pub recoils: u64,
pub depth_sum: f64,
pub depth_sq_sum: f64,
pub bin_width_m: f64,
pub depth_hist: Vec<u64>,
}Expand description
A minimal summary: counts, energy sums and a depth histogram of where primaries stop. Enough to test the engine; the full tallies come later.
Fields§
§histories: u64Primary histories run.
budget: EnergyBudgetSum of the per-history energy budgets.
max_relative_residual: f64Largest |residual| / incident over all histories.
primaries_stopped: u64Primaries that came to rest in the target.
backscattered: u64Primaries that left through the front face.
transmitted: u64Primaries that left through the back face.
sputtered: u64Recoils that left through the front face.
recoils_transmitted: u64Recoils that left through the back face.
lateral: u64Primaries that left through a lateral face of a voxel grid.
recoils_lateral: u64Recoils that left through a lateral face of a voxel grid.
recoils: u64Displaced atoms (recoils created).
depth_sum: f64Sum of the rest depth of stopped primaries, m.
depth_sq_sum: f64Sum of squared rest depths of stopped primaries, m².
bin_width_m: f64Width of a depth bin, m.
depth_hist: Vec<u64>Stopped-primary counts per depth bin; the last bin collects overflow.
Implementations§
Source§impl SummaryTally
impl SummaryTally
Trait Implementations§
Source§impl BcaTally for SummaryTally
impl BcaTally for SummaryTally
Source§fn recoil(&mut self, _recoil: &Particle)
fn recoil(&mut self, _recoil: &Particle)
E_d); recoil is its
state at creation, before it is followed (or stopped, if below the
recoil cutoff or if cascades are off).Source§fn stopped(&mut self, p: &Particle)
fn stopped(&mut self, p: &Particle)
p.pos with kinetic energy p.energy_ev.Source§fn escaped(&mut self, p: &Particle, face: Face)
fn escaped(&mut self, p: &Particle, face: Face)
face; p is its state outside
(after refraction by the surface barrier).Source§fn end_history(&mut self, _index: u64, budget: &EnergyBudget)
fn end_history(&mut self, _index: u64, budget: &EnergyBudget)
budget is its energy bookkeeping.Source§fn begin_history(&mut self, _index: u64)
fn begin_history(&mut self, _index: u64)
Source§fn electronic(
&mut self,
_p: &Particle,
_from: [f64; 3],
_channel: ElectronicChannel,
_energy_ev: f64,
)
fn electronic( &mut self, _p: &Particle, _from: [f64; 3], _channel: ElectronicChannel, _energy_ev: f64, )
energy_ev. For ElectronicChannel::NonLocal
it was spread along the straight segment from from to p.pos; for
ElectronicChannel::Local it was deposited at p.pos.Source§fn partner(&mut self, _p: &Particle, _impact_parameter_m: f64, _partners: usize)
fn partner(&mut self, _p: &Particle, _impact_parameter_m: f64, _partners: usize)
p, reported before the collision changes
p (so p is the incoming state, unlike in the other hooks):
impact_parameter_m is the distance from the partner to the incoming
straight path, and partners the number of partners of this collision
step, each of which is reported by its own call. The amorphous model
reports its hard collision and each weak collision as a step of one
partner; the crystal flight model reports every simultaneous partner
of a step with the same partners.Source§impl Clone for SummaryTally
impl Clone for SummaryTally
Source§fn clone(&self) -> SummaryTally
fn clone(&self) -> SummaryTally
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SummaryTally
impl Debug for SummaryTally
Source§impl PartialEq for SummaryTally
impl PartialEq for SummaryTally
impl StructuralPartialEq for SummaryTally
Auto Trait Implementations§
impl Freeze for SummaryTally
impl RefUnwindSafe for SummaryTally
impl Send for SummaryTally
impl Sync for SummaryTally
impl Unpin for SummaryTally
impl UnsafeUnpin for SummaryTally
impl UnwindSafe for SummaryTally
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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