#[derive(Debug, Clone)]
pub struct Frame {
pub id: u32,
pub time: f64,
pub num_scans: u32,
pub num_peaks: u32,
pub tims_id: u64,
pub scan_mode: u32,
pub msms_type: u32,
pub mz_calibration_id: u32,
pub accumulation_time: Option<f64>,
pub summed_intensities: Option<u64>,
}
#[derive(Debug, Clone, Copy)]
pub struct Peak {
pub scan: u32,
pub tof: u32,
pub intensity: u32,
}
#[derive(Debug, Clone)]
pub struct Metadata {
pub schema_version_major: u32,
pub schema_version_minor: u32,
pub instrument_name: String,
pub acquisition_software: String,
pub acquisition_software_version: String,
pub compression_type: u32,
}
#[derive(Debug, Clone)]
pub struct DiaWindow {
pub window_group: u32,
pub scan_num_begin: u32,
pub scan_num_end: u32,
pub isolation_mz: f64,
pub isolation_width: f64,
pub collision_energy: f64,
}
#[derive(Debug, Clone)]
pub struct DiaFrameWindows {
pub frame_id: u32,
pub window_group: u32,
pub windows: Vec<DiaWindow>,
}
#[derive(Debug, Clone)]
pub struct PasefMsMsInfo {
pub frame_id: u32,
pub scan_num_begin: u32,
pub scan_num_end: u32,
pub isolation_mz: f64,
pub isolation_width: f64,
pub collision_energy: f64,
pub precursor_id: u32,
}
#[derive(Debug, Clone)]
pub struct PrmMsMsInfo {
pub frame_id: u32,
pub scan_num_begin: u32,
pub scan_num_end: u32,
pub isolation_mz: f64,
pub isolation_width: f64,
pub collision_energy: f64,
pub target_id: u32,
}
#[derive(Debug, Clone)]
pub struct PrmTarget {
pub id: u32,
pub external_id: String,
pub time: f64,
pub one_over_k0: f64,
pub monoisotopic_mz: f64,
pub charge: u32,
pub description: String,
}
#[derive(Debug, Clone)]
pub struct Precursor {
pub id: u32,
pub largest_peak_mz: f64,
pub average_mz: f64,
pub monoisotopic_mz: Option<f64>,
pub charge: Option<u32>,
pub scan_number: f64,
pub intensity: f64,
pub parent_frame_id: u32,
}