#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
#[non_exhaustive]
pub enum Analyzer {
ITMS,
TQMS,
SQMS,
TOFMS,
FTMS,
Sector,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
#[non_exhaustive]
pub enum Polarity {
Negative,
Positive,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
#[non_exhaustive]
pub enum ScanMode {
Centroid,
Profile,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[non_exhaustive]
pub enum MsPower {
Undefined,
Ms1,
Ms2,
Ms3,
Ms4,
Ms5,
Ms6,
Ms7,
Ms8,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
#[non_exhaustive]
pub enum Activation {
HCD,
MPID,
ETD,
CID,
ECD,
IRMPD,
PD,
PQD,
UVPD,
SID,
EThcD,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
#[non_exhaustive]
pub enum Compression {
NoCompression,
#[default]
Zlib,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
#[non_exhaustive]
pub enum MobilityArrayKind {
InverseReducedVsPerCm2,
DriftTimeMilliseconds,
}
impl MsPower {
pub fn ms_level(self) -> u32 {
match self {
Self::Undefined | Self::Ms1 => 1,
Self::Ms2 => 2,
Self::Ms3 => 3,
Self::Ms4 => 4,
Self::Ms5 => 5,
Self::Ms6 => 6,
Self::Ms7 => 7,
Self::Ms8 => 8,
}
}
}
impl Polarity {
pub fn as_str(self) -> &'static str {
match self {
Self::Positive => "positive",
Self::Negative => "negative",
}
}
}
impl ScanMode {
pub fn as_str(self) -> &'static str {
match self {
Self::Centroid => "centroid",
Self::Profile => "profile",
}
}
}
impl Analyzer {
pub fn as_str(self) -> &'static str {
match self {
Self::ITMS => "itms",
Self::TQMS => "tqms",
Self::SQMS => "sqms",
Self::TOFMS => "tof",
Self::FTMS => "ftms",
Self::Sector => "sector",
}
}
}
impl Activation {
pub fn as_str(self) -> &'static str {
match self {
Self::CID => "cid",
Self::HCD => "hcd",
Self::ETD => "etd",
Self::ECD => "ecd",
Self::UVPD => "uvpd",
Self::PQD => "pqd",
Self::PD => "pd",
Self::SID => "sid",
Self::EThcD => "ethcd",
Self::IRMPD => "irmpd",
Self::MPID => "mpid",
}
}
}
impl MobilityArrayKind {
pub fn as_str(self) -> &'static str {
match self {
Self::InverseReducedVsPerCm2 => "inverse_reduced_k0",
Self::DriftTimeMilliseconds => "drift_time_ms",
}
}
}