pub struct PartialWaves { /* private fields */ }Expand description
Mott partial-wave data at one energy: phase shifts and the amplitudes built from them.
Implementations§
Source§impl PartialWaves
impl PartialWaves
Sourcepub fn from_phase_shifts(
k: f64,
delta_minus: Vec<f64>,
delta_plus: Vec<f64>,
) -> Result<Self, ElasticError>
pub fn from_phase_shifts( k: f64, delta_minus: Vec<f64>, delta_plus: Vec<f64>, ) -> Result<Self, ElasticError>
Build from phase shifts for l = 0..=l_max. delta_plus[0] is ignored
(set to 0). The two vectors must have equal, nonzero length.
Sourcepub fn wave_number(&self) -> f64
pub fn wave_number(&self) -> f64
Wave number k, 1/bohr.
Sourcepub fn phase_shift(&self, kappa: i32) -> Option<f64>
pub fn phase_shift(&self, kappa: i32) -> Option<f64>
Phase shift delta_kappa (rad); kappa is -(l+1) or l >= 1.
Sourcepub fn amplitudes(&self, x: f64) -> ([f64; 2], [f64; 2])
pub fn amplitudes(&self, x: f64) -> ([f64; 2], [f64; 2])
Direct and spin-flip amplitudes (f, g) at cos(theta) = x, each as
[re, im], bohr.
Sourcepub fn dcs(&self, theta: f64) -> f64
pub fn dcs(&self, theta: f64) -> f64
Differential cross section |f|^2 + |g|^2 at polar angle theta
(rad), bohr^2/sr.
Sourcepub fn sherman(&self, theta: f64) -> f64
pub fn sherman(&self, theta: f64) -> f64
Sherman function S = i (f g* - f* g)/(|f|^2 + |g|^2) at theta.
The sign convention is not verified against a published definition.
Sourcepub fn sigma_optical(&self) -> f64
pub fn sigma_optical(&self) -> f64
(4 pi/k) Im f(0): the optical-theorem value of sigma_el, bohr^2.
Sourcepub fn sigma_el_quadrature(&self) -> f64
pub fn sigma_el_quadrature(&self) -> f64
sigma_el by integrating the DCS (a consistency check of
Self::sigma_el), bohr^2.
Trait Implementations§
Source§impl Clone for PartialWaves
impl Clone for PartialWaves
Source§fn clone(&self) -> PartialWaves
fn clone(&self) -> PartialWaves
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 moreSource§impl Debug for PartialWaves
impl Debug for PartialWaves
Source§impl PartialEq for PartialWaves
impl PartialEq for PartialWaves
impl StructuralPartialEq for PartialWaves
Auto Trait Implementations§
impl Freeze for PartialWaves
impl RefUnwindSafe for PartialWaves
impl Send for PartialWaves
impl Sync for PartialWaves
impl Unpin for PartialWaves
impl UnsafeUnpin for PartialWaves
impl UnwindSafe for PartialWaves
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