23#ifndef _SPECTRUMLIST_UIMF_
24#define _SPECTRUMLIST_UIMF_
34#include <boost/container/flat_map.hpp>
38#ifdef PWIZ_READER_UIMF
39#include "pwiz_aux/msrc/utility/vendor_api/UIMF/UIMFReader.hpp"
41#include <boost/thread.hpp>
42using namespace pwiz::vendor_api::UIMF;
50using boost::shared_ptr;
56 virtual size_t size()
const;
58 virtual size_t find(
const string&
id)
const;
64#ifdef PWIZ_READER_UIMF
70 UIMFReaderPtr rawfile_;
73 mutable boost::mutex readMutex;
81 mutable vector<IndexEntry> index_;
82 mutable map<string, size_t> idToIndexMap_;
83 mutable boost::container::flat_map<double, size_t> scanTimeToFrameMap_;
85 void createIndex()
const;
common functionality for base SpectrumList implementations
virtual SpectrumPtr spectrum(size_t index, DetailLevel detailLevel) const
retrieve a spectrum by index
virtual size_t find(const string &id) const
find id in the spectrum index (returns size() on failure)
virtual const SpectrumIdentity & spectrumIdentity(size_t index) const
access to a spectrum index
virtual SpectrumPtr spectrum(size_t index, bool getBinaryData) const
retrieve a spectrum by index
virtual size_t size() const
returns the number of spectra
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.