pub struct LeBailInput {
pub pattern: PatternRecord,
pub instrument: ConstantWavelengthInstrument,
pub phases: Vec<LeBailPhase>,
pub background: Option<BackgroundModel>,
pub parameters: Option<ParameterSet>,
pub constraints: Vec<Constraint>,
}Expand description
Observations, instrument, and ordered fixed-reflection phases.
Fields§
§pattern: PatternRecordObserved pattern and fixed supplied background.
instrument: ConstantWavelengthInstrumentConstant-wavelength U/V/W/X/Y profile.
phases: Vec<LeBailPhase>Ordered non-empty phase list.
background: Option<BackgroundModel>Optional refinable analytical correction added to the fixed background.
parameters: Option<ParameterSet>Optional typed profile parameter set.
constraints: Vec<Constraint>Ordered fixed/affine/linear parameter constraints.
Implementations§
Source§impl LeBailInput
impl LeBailInput
Sourcepub fn new(
pattern: PatternRecord,
instrument: ConstantWavelengthInstrument,
phases: Vec<LeBailPhase>,
) -> Result<Self, LeBailError>
pub fn new( pattern: PatternRecord, instrument: ConstantWavelengthInstrument, phases: Vec<LeBailPhase>, ) -> Result<Self, LeBailError>
Validate a complete fixed-reflection Le Bail request.
§Errors
Returns LeBailError for invalid observations, instrument, phase
state, or repeated phase IDs.
Sourcepub fn new_with_parameters(
pattern: PatternRecord,
instrument: ConstantWavelengthInstrument,
phases: Vec<LeBailPhase>,
parameters: ParameterSet,
constraints: Vec<Constraint>,
) -> Result<Self, LeBailError>
pub fn new_with_parameters( pattern: PatternRecord, instrument: ConstantWavelengthInstrument, phases: Vec<LeBailPhase>, parameters: ParameterSet, constraints: Vec<Constraint>, ) -> Result<Self, LeBailError>
Validate a request with optional analytical profile parameters.
§Errors
Returns LeBailError for unsupported keys, domain/value mismatch, or
an invalid constraint graph.
Sourcepub fn with_refinable_background(
self,
background: BackgroundModel,
) -> Result<Self, LeBailError>
pub fn with_refinable_background( self, background: BackgroundModel, ) -> Result<Self, LeBailError>
Attach a refinable analytical correction on top of the fixed supplied background.
The model coefficients are appended to the existing parameter set in stable order.
This makes a Smooth Bruckner array in PatternRecord the fixed broad baseline,
while the analytical model captures low-order residual curvature.
§Errors
Returns LeBailError for an invalid model/grid or duplicate parameter identity.
Trait Implementations§
Source§impl Clone for LeBailInput
impl Clone for LeBailInput
Source§fn clone(&self) -> LeBailInput
fn clone(&self) -> LeBailInput
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for LeBailInput
impl Debug for LeBailInput
Source§impl PartialEq for LeBailInput
impl PartialEq for LeBailInput
impl StructuralPartialEq for LeBailInput
Auto Trait Implementations§
impl Freeze for LeBailInput
impl RefUnwindSafe for LeBailInput
impl Send for LeBailInput
impl Sync for LeBailInput
impl Unpin for LeBailInput
impl UnsafeUnpin for LeBailInput
impl UnwindSafe for LeBailInput
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
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.