pub struct Resolved {Show 13 fields
pub input: Input,
pub beam: Beam,
pub divergence: Divergence,
pub stack: Stack,
pub layers: Vec<ResolvedLayer>,
pub config: BcaConfig,
pub screening: Screening,
pub screening_length: ScreeningLength,
pub table_spec: TableSpec,
pub stopping_tables: Vec<LoadedStoppingTable>,
pub crystals: Vec<ResolvedCrystal>,
pub warnings: Vec<String>,
pub tuning: Option<TuningReport>,
}Expand description
A validated input, in the engine’s types.
Fields§
§input: InputThe input with defaults filled in (including the screening length).
beam: BeamThe beam.
divergence: DivergenceBeam divergence about the nominal direction (crate::ion::crystal::Divergence::None
without [beam.divergence]).
stack: StackThe target.
layers: Vec<ResolvedLayer>Layers in stack order, with where each material came from.
config: BcaConfigEngine configuration (including the seed).
screening: ScreeningScreening function.
screening_length: ScreeningLengthScreening length.
table_spec: TableSpecScattering-table grid.
stopping_tables: Vec<LoadedStoppingTable>User stopping tables, in input order (empty without [stopping]).
crystals: Vec<ResolvedCrystal>Crystal assignments, in input order (empty: amorphous run).
warnings: Vec<String>Non-fatal advice (e.g. beam energy outside a model’s validity range).
tuning: Option<TuningReport>The tuning applied, if [physics] tuning named a set.
Implementations§
Source§impl Resolved
impl Resolved
Sourcepub fn stopping_model(&self) -> Box<dyn ElectronicStopping + Send + Sync>
pub fn stopping_model(&self) -> Box<dyn ElectronicStopping + Send + Sync>
The electronic stopping model of the run: the [physics] stopping
choice, with any [stopping] tables layered over it for the pairs
they declare. This is what to pass to the engine.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Resolved
impl RefUnwindSafe for Resolved
impl Send for Resolved
impl Sync for Resolved
impl Unpin for Resolved
impl UnsafeUnpin for Resolved
impl UnwindSafe for Resolved
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