pub struct Recorded<T> {
pub inner: T,
pub recorder: TrajectoryRecorder,
}Expand description
An ordinary tally and a TrajectoryRecorder fed by the same events of
one run. inner sees exactly what it would see alone.
Fields§
§inner: TThe tally whose results the run is for.
recorder: TrajectoryRecorderThe recorder.
Trait Implementations§
Source§impl<T: BcaTally> BcaTally for Recorded<T>
impl<T: BcaTally> BcaTally for Recorded<T>
Source§fn begin_history(&mut self, index: u64)
fn begin_history(&mut self, index: u64)
A primary history starts.
Source§fn electronic(
&mut self,
p: &Particle,
from: [f64; 3],
c: ElectronicChannel,
e: f64,
)
fn electronic( &mut self, p: &Particle, from: [f64; 3], c: ElectronicChannel, e: 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, b: f64, n: usize)
fn partner(&mut self, p: &Particle, b: f64, n: 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, e: f64)
fn lattice(&mut self, at: [f64; 3], layer: usize, kind: LatticeDeposit, e: 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)
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)
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 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.Auto Trait Implementations§
impl<T> Freeze for Recorded<T>where
T: Freeze,
impl<T> RefUnwindSafe for Recorded<T>where
T: RefUnwindSafe,
impl<T> Send for Recorded<T>where
T: Send,
impl<T> Sync for Recorded<T>where
T: Sync,
impl<T> Unpin for Recorded<T>where
T: Unpin,
impl<T> UnsafeUnpin for Recorded<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for Recorded<T>where
T: UnwindSafe,
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