pub struct InventoryTally { /* private fields */ }Expand description
Implementations§
Source§impl InventoryTally
impl InventoryTally
Sourcepub fn new(n_slabs: usize) -> Self
pub fn new(n_slabs: usize) -> Self
An empty tally for a grid of n_slabs finite slabs (layer indices at
or above n_slabs are the substrate).
Sourcepub fn counts(&self) -> impl Iterator<Item = ((usize, u8), i64)> + '_
pub fn counts(&self) -> impl Iterator<Item = ((usize, u8), i64)> + '_
Net atom count change per (slab, Z), in (slab, Z) order. Zero
entries are omitted.
Sourcepub fn sputtered_from(&self) -> impl Iterator<Item = ((usize, u8), u64)> + '_
pub fn sputtered_from(&self) -> impl Iterator<Item = ((usize, u8), u64)> + '_
Recoils that left through the front face, per (origin slab, Z), in
that order. Only origins in a finite slab are listed (an atom from the
substrate was never part of the inventory), so for each Z the sum is
at most the Z entry of Yields::sputtered. Each of these atoms is
also in counts as a loss in its origin slab.
Trait Implementations§
Source§impl BcaTally for InventoryTally
impl BcaTally for InventoryTally
Source§fn begin_history(&mut self, _index: u64)
fn begin_history(&mut self, _index: u64)
A primary history starts.
Source§fn recoil(&mut self, recoil: &Particle)
fn recoil(&mut self, recoil: &Particle)
A target atom was displaced (transfer above
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)
A particle came to rest at
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)
A particle left the target through
face; p is its state outside
(after refraction by the surface barrier).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, )
Electronic loss of
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)
A collision partner of
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§fn lattice(
&mut self,
_at: [f64; 3],
_layer: usize,
_kind: LatticeDeposit,
_energy_ev: f64,
)
fn lattice( &mut self, _at: [f64; 3], _layer: usize, _kind: LatticeDeposit, _energy_ev: f64, )
Nuclear energy
energy_ev left in the lattice at at in region
layer (the layer index of a stack, the flat voxel index of a voxel
grid).Source§fn end_history(&mut self, _index: u64, _budget: &EnergyBudget)
fn end_history(&mut self, _index: u64, _budget: &EnergyBudget)
A primary history ended;
budget is its energy bookkeeping.Source§impl Clone for InventoryTally
impl Clone for InventoryTally
Source§fn clone(&self) -> InventoryTally
fn clone(&self) -> InventoryTally
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for InventoryTally
impl Debug for InventoryTally
impl Eq for InventoryTally
Source§impl PartialEq for InventoryTally
impl PartialEq for InventoryTally
impl StructuralPartialEq for InventoryTally
Auto Trait Implementations§
impl Freeze for InventoryTally
impl RefUnwindSafe for InventoryTally
impl Send for InventoryTally
impl Sync for InventoryTally
impl Unpin for InventoryTally
impl UnsafeUnpin for InventoryTally
impl UnwindSafe for InventoryTally
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
Mutably borrows from an owned value. Read more
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> ⓘ
Converts
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> ⓘ
Converts
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