Skip to main content

VoxelTally

Struct VoxelTally 

Source
pub struct VoxelTally { /* private fields */ }
Expand description

A sparse voxel tally; see the module docs.

Implementations§

Source§

impl VoxelTally

Source

pub fn new(grid: VoxelTallyGrid) -> Self

An empty tally on grid.

Source

pub fn with_species(self, species_z: &[u8]) -> Self

Also tally vacancies, interstitials and replacements per species. species_z is crate::ion::bca::Bca::species_z of the run: entry s is the atomic number of species index s.

Source

pub fn species_z(&self) -> &[u8] ⓘ

The species Z this tally keeps defects for (empty: none).

Source

pub fn grid(&self) -> &VoxelTallyGrid

The grid this tally bins on.

Source

pub fn occupied(&self) -> usize

Number of stored (occupied) voxels.

Source

pub fn report(&self) -> VoxelReport

The merged tally as plain data: occupied voxels in flat-index order.

Trait Implementations§

Source§

impl BcaTally for VoxelTally

Source§

fn merge(&mut self, o: Self)

Voxel-by-voxel merge.

§Panics

If other was built on a different grid or for different species.

Source§

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 begin_history(&mut self, _index: u64)

A primary history starts.
Source§

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 recoil(&mut self, r: &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)

A particle came to rest at p.pos with kinetic energy p.energy_ev.
Source§

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 end_history(&mut self, _index: u64, _budget: &EnergyBudget)

A primary history ended; budget is its energy bookkeeping.
Source§

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§

impl Clone for VoxelTally

Source§

fn clone(&self) -> VoxelTally

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for VoxelTally

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

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
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V