24#ifndef _SPECTRUMLIST_THERMO_
25#define _SPECTRUMLIST_THERMO_
35#include <boost/container/flat_map.hpp>
38#ifdef PWIZ_READER_THERMO
39#include "pwiz_aux/msrc/utility/vendor_api/thermo/RawFile.h"
41#include <boost/thread.hpp>
42using namespace pwiz::vendor_api::Thermo;
55 virtual size_t size()
const;
57 virtual size_t find(
const string&
id)
const;
67#ifdef PWIZ_READER_THERMO
70 int numSpectraOfScanType(pwiz::vendor_api::Thermo::ScanType scanType)
const;
71 int numSpectraOfMSOrder(pwiz::vendor_api::Thermo::MSOrder msOrder)
const;
76 pwiz::vendor_api::Thermo::RawFilePtr rawfile_;
79 vector<int> spectraByScanType;
80 vector<int> spectraByMSOrder;
81 mutable boost::recursive_mutex readMutex;
82 map<long, vector<double> > fillIndex;
86 ControllerType controllerType;
87 long controllerNumber;
90 pwiz::vendor_api::Thermo::ScanType scanType;
91 pwiz::vendor_api::Thermo::MSOrder msOrder;
95 vector<IndexEntry> index_;
96 map<string, size_t> idToIndexMap_;
100 size_t findPrecursorSpectrumIndex(
int precursorMsLevel,
double precursorIsolationMz,
size_t index)
const;
101 pwiz::vendor_api::Thermo::ScanInfoPtr findPrecursorZoomScan(
int precursorMsLevel,
double precursorIsolationMz,
size_t index)
const;
virtual double ccsToIonMobility(double ccs, double mz, int charge) const
virtual double ionMobilityToCCS(double ionMobility, double mz, int charge) const
virtual SpectrumPtr spectrum(size_t index, DetailLevel detailLevel, const pwiz::util::IntegerSet &msLevelsToCentroid) const
virtual size_t find(const string &id) const
find id in the spectrum index (returns size() on failure)
virtual SpectrumPtr spectrum(size_t index, bool getBinaryData, const pwiz::util::IntegerSet &msLevelsToCentroid) const
virtual bool canConvertIonMobilityAndCCS() const
virtual bool hasIonMobility() const
virtual size_t size() const
returns the number of spectra
virtual SpectrumPtr spectrum(size_t index, bool getBinaryData) const
retrieve a spectrum by index
virtual SpectrumPtr spectrum(size_t index, DetailLevel detailLevel) const
retrieve a spectrum by index
virtual const SpectrumIdentity & spectrumIdentity(size_t index) const
access to a spectrum index
a virtual container of integers, accessible via an iterator interface, stored as union of intervals
boost::shared_ptr< Spectrum > SpectrumPtr
This is the root element of ProteoWizard; it represents the mzML element, defined as: intended to cap...
Identifying information for a spectrum.