pub enum BeamProfile {
Point,
Gaussian {
sigma_m: f64,
},
Disc {
radius_m: f64,
},
Rectangle {
width_y_m: f64,
width_z_m: f64,
},
}Expand description
Lateral profile of the beam on the front face, about its landing point. Lengths are metres.
Each profile is a plain geometric law (no tabulated data): a Gaussian spot
has independent normal y and z offsets with standard deviation
sigma_m each (sampled by the Box-Muller transform, two draws); a disc is
uniform in area (r = R sqrt(U), azimuth uniform; two draws); a rectangle
is uniform in y and z over its full widths (two draws). A point takes
no draws.
Variants§
Point
Every primary lands exactly at the landing point.
Gaussian
Gaussian spot, standard deviation per axis.
Disc
Uniform disc.
Rectangle
Uniform rectangle centred on the landing point.
Trait Implementations§
Source§impl Clone for BeamProfile
impl Clone for BeamProfile
Source§fn clone(&self) -> BeamProfile
fn clone(&self) -> BeamProfile
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 BeamProfile
Source§impl Debug for BeamProfile
impl Debug for BeamProfile
Source§impl PartialEq for BeamProfile
impl PartialEq for BeamProfile
Source§impl Serialize for BeamProfile
impl Serialize for BeamProfile
impl StructuralPartialEq for BeamProfile
Auto Trait Implementations§
impl Freeze for BeamProfile
impl RefUnwindSafe for BeamProfile
impl Send for BeamProfile
impl Sync for BeamProfile
impl Unpin for BeamProfile
impl UnsafeUnpin for BeamProfile
impl UnwindSafe for BeamProfile
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