27 #include <boost/thread/mutex.hpp>
29 #ifdef PWIZ_READER_ABI
30 #include "pwiz_aux/msrc/utility/vendor_api/ABI/WiffFile.hpp"
32 using namespace pwiz::vendor_api::ABI;
33 #endif // PWIZ_READER_ABI
44 virtual size_t size()
const;
46 virtual size_t find(
const std::string&
id)
const;
47 virtual SpectrumPtr spectrum(
size_t index,
bool getBinaryData)
const;
52 #ifdef PWIZ_READER_ABI
54 const ExperimentsMap& experimentsMap,
int sample,
60 WiffFilePtr wifffile_;
62 ExperimentsMap experimentsMap_;
74 ExperimentPtr experiment;
78 mutable std::vector<IndexEntry> index_;
79 mutable std::map<std::string, size_t> idToIndexMap_;
82 mutable boost::mutex spectrum_mutex;
83 mutable size_t spectrumLastIndex_;
86 void createIndex()
const;
87 #endif // PWIZ_READER_ABI