pub struct InstrumentConfig {
pub kind: InstrumentKind,
pub capabilities: InstrumentCapabilities,
pub mobility: MobilityModality,
pub activation: ActivationPolicy,
}Expand description
The vendor-specific configuration the render core dispatches on (P6c). Bundles the three orthogonal axes that decide how a vendor-neutral trunk is recorded:
InstrumentKind— vendor identity (selects the writer at the boundary);InstrumentCapabilities— what physics applies (gates mobility / quad isotope transmission; an Astral forces isotope mode toNone);MobilityModality— whether events render asMobilityFrame(TIMS) or a single collapsedScan(non-IMS);ActivationPolicy— how the collision energy + its unit are produced (Bruker eV-per-scan vs Thermo NCE-per-window), so a fragment predictor can reject a unit it was not calibrated for.
The Bruker default reproduces current behaviour exactly; astral is the first
non-IMS instrument. This is pure configuration — it holds no analyte state.
Fields§
§kind: InstrumentKind§capabilities: InstrumentCapabilities§mobility: MobilityModality§activation: ActivationPolicyImplementations§
Source§impl InstrumentConfig
impl InstrumentConfig
Sourcepub fn bruker_pasef(ce_bias: f64, ce_slope: f64) -> Self
pub fn bruker_pasef(ce_bias: f64, ce_slope: f64) -> Self
Bruker timsTOF DDA-PASEF: TIMS mobility, full capabilities, eV CE linear in
scan. ce_bias/ce_slope reproduce the legacy dda_selection_scheme
formula (defaults 54.1984 / -0.0345). Matches the pre-dispatch behaviour.
Sourcepub fn astral(ce: CollisionEnergyPolicy) -> Self
pub fn astral(ce: CollisionEnergyPolicy) -> Self
Orbitrap Astral: no mobility axis (events collapse to a single Scan),
Astral capabilities (both false — isotope transmission forced to None),
and a Thermo NCE activation policy carrying the per-window normalized CE.
Takes the per-window collision-energy policy (not a full
ActivationPolicy) and constructs the NCE activation internally, so an
Astral config can never be built with a contradictory eV / scan-dependent
(e.g. Bruker-PASEF) activation model. ce is in NCE units by construction.
Sourcepub fn is_scan_based(&self) -> bool
pub fn is_scan_based(&self) -> bool
Whether events render as a single collapsed RenderedEvent::Scan (no
mobility axis) rather than a RenderedEvent::MobilityFrame.
Trait Implementations§
Source§impl Clone for InstrumentConfig
impl Clone for InstrumentConfig
Source§fn clone(&self) -> InstrumentConfig
fn clone(&self) -> InstrumentConfig
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 InstrumentConfig
impl Debug for InstrumentConfig
impl Copy for InstrumentConfig
Auto Trait Implementations§
impl Freeze for InstrumentConfig
impl RefUnwindSafe for InstrumentConfig
impl Send for InstrumentConfig
impl Sync for InstrumentConfig
impl Unpin for InstrumentConfig
impl UnsafeUnpin for InstrumentConfig
impl UnwindSafe for InstrumentConfig
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 more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§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).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.