26 #include <boost/thread/mutex.hpp>
28 #ifdef PWIZ_READER_ABI
29 #include "pwiz_aux/msrc/utility/vendor_api/ABI/WiffFile.hpp"
31 using namespace pwiz::vendor_api::ABI;
32 #endif // PWIZ_READER_ABI
43 virtual size_t size()
const;
45 virtual size_t find(
const std::string&
id)
const;
46 virtual SpectrumPtr spectrum(
size_t index,
bool getBinaryData)
const;
51 #ifdef PWIZ_READER_ABI
53 const ExperimentsMap& experimentsMap,
int sample);
58 WiffFilePtr wifffile_;
59 ExperimentsMap experimentsMap_;
71 ExperimentPtr experiment;
75 mutable std::vector<IndexEntry> index_;
76 mutable std::map<std::string, size_t> idToIndexMap_;
79 mutable boost::mutex spectrum_mutex;
80 mutable size_t spectrumLastIndex_;
83 void createIndex()
const;
84 #endif // PWIZ_READER_ABI