pub struct BetheBloch {
pub effective_charge: EffectiveCharge,
pub mean_excitation_ev: Option<f64>,
pub shell_over_z: f64,
pub density_delta: f64,
pub density_effect_electron_density_m3: Option<f64>,
pub no_bloch: bool,
}Expand description
Bethe-Bloch model.
Fields§
§effective_charge: EffectiveChargeEffective-charge model.
mean_excitation_ev: Option<f64>Mean excitation energy override, eV.
shell_over_z: f64Shell correction C / Z2 (dimensionless, added as −C/Z2); default 0.
density_delta: f64Density-effect δ (dimensionless); default 0.
density_effect_electron_density_m3: Option<f64>Target electron density (m^-3) for the opt-in single-oscillator
density effect; None (default) leaves it off. Added to
density_delta.
no_bloch: boolInclude the Bloch term L2 (default: true via BetheBloch::new).
Implementations§
Source§impl BetheBloch
impl BetheBloch
Sourcepub fn with_effective_charge(self, m: EffectiveCharge) -> Self
pub fn with_effective_charge(self, m: EffectiveCharge) -> Self
Set the effective-charge model.
Sourcepub fn with_mean_excitation_ev(self, i_ev: f64) -> Self
pub fn with_mean_excitation_ev(self, i_ev: f64) -> Self
Set the mean excitation energy, eV (cite its source at the call site).
Sourcepub fn with_density_effect(self, electron_density_m3: f64) -> Self
pub fn with_density_effect(self, electron_density_m3: f64) -> Self
Enable the single-oscillator density effect
(density_effect_single_oscillator) for a target of electron density
n_e (m^-3). The density effect needs a meaningful I: set a cited
one with BetheBloch::with_mean_excitation_ev. Opt-in; relevant only
at relativistic energies.
Sourcepub fn without_bloch(self) -> Self
pub fn without_bloch(self) -> Self
Drop the Bloch term (pure Bethe).
Trait Implementations§
Source§impl Clone for BetheBloch
impl Clone for BetheBloch
Source§fn clone(&self) -> BetheBloch
fn clone(&self) -> BetheBloch
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for BetheBloch
Source§impl Debug for BetheBloch
impl Debug for BetheBloch
Source§impl Default for BetheBloch
impl Default for BetheBloch
Source§fn default() -> BetheBloch
fn default() -> BetheBloch
Source§impl ElectronicStopping for BetheBloch
impl ElectronicStopping for BetheBloch
Source§impl PartialEq for BetheBloch
impl PartialEq for BetheBloch
impl StructuralPartialEq for BetheBloch
Auto Trait Implementations§
impl Freeze for BetheBloch
impl RefUnwindSafe for BetheBloch
impl Send for BetheBloch
impl Sync for BetheBloch
impl Unpin for BetheBloch
impl UnsafeUnpin for BetheBloch
impl UnwindSafe for BetheBloch
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