pub enum DivergenceSpec {
Gaussian {
sigma_deg: f64,
},
UniformCone {
half_angle_deg: f64,
},
}Expand description
[beam.divergence]: the beam’s angular spread about its nominal
direction, angles in degrees. Selected by model:
[beam.divergence]
model = "gaussian" # sigma_deg: standard deviation per plane
sigma_deg = 0.05
# model = "uniform-cone" # half_angle_deg: cone half-angle
# half_angle_deg = 0.1A Gaussian sigma_deg is the standard deviation of the angular deviation
in each of two orthogonal planes through the nominal direction (the polar
deviation is then Rayleigh distributed); it is not a cone width. A
uniform cone is uniform in solid angle out to half_angle_deg. See
crate::ion::crystal::Divergence for the laws. The sampled distribution
is conditioned on directions into the target (“inward-conditioned”), and
widths are limited to MAX_DIVERGENCE_DEG.
Variants§
Gaussian
Gaussian divergence, standard deviation per plane.
UniformCone
Uniform in solid angle within a cone.
Trait Implementations§
Source§impl Clone for DivergenceSpec
impl Clone for DivergenceSpec
Source§fn clone(&self) -> DivergenceSpec
fn clone(&self) -> DivergenceSpec
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 moreimpl Copy for DivergenceSpec
Source§impl Debug for DivergenceSpec
impl Debug for DivergenceSpec
Source§impl<'de> Deserialize<'de> for DivergenceSpec
impl<'de> Deserialize<'de> for DivergenceSpec
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for DivergenceSpec
impl PartialEq for DivergenceSpec
Source§impl Serialize for DivergenceSpec
impl Serialize for DivergenceSpec
impl StructuralPartialEq for DivergenceSpec
Auto Trait Implementations§
impl Freeze for DivergenceSpec
impl RefUnwindSafe for DivergenceSpec
impl Send for DivergenceSpec
impl Sync for DivergenceSpec
impl Unpin for DivergenceSpec
impl UnsafeUnpin for DivergenceSpec
impl UnwindSafe for DivergenceSpec
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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