ProteoWizard
ChromatogramList_Waters.hpp
Go to the documentation of this file.
1//
2// $Id$
3//
4//
5// Original author: Matt Chambers <matt.chambers .@. vanderbilt.edu>
6//
7// Copyright 2009 Vanderbilt University - Nashville, TN 37232
8//
9// Licensed under the Apache License, Version 2.0 (the "License");
10// you may not use this file except in compliance with the License.
11// You may obtain a copy of the License at
12//
13// http://www.apache.org/licenses/LICENSE-2.0
14//
15// Unless required by applicable law or agreed to in writing, software
16// distributed under the License is distributed on an "AS IS" BASIS,
17// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18// See the License for the specific language governing permissions and
19// limitations under the License.
20//
21
22
27
28
29namespace pwiz {
30namespace msdata {
31namespace detail {
32
33
35{
36 public:
37
38 virtual size_t size() const;
39 virtual const ChromatogramIdentity& chromatogramIdentity(size_t index) const;
40 virtual size_t find(const std::string& id) const;
41 virtual ChromatogramPtr chromatogram(size_t index, bool getBinaryData) const;
42 virtual ChromatogramPtr chromatogram(size_t index, bool getBinaryData, double lockmassMzPosScans, double lockmassMzNegScans, double lockmassTolerance) const;
43
44#ifdef PWIZ_READER_WATERS
45 ChromatogramList_Waters(RawDataPtr rawdata);
46
47 private:
48
49 RawDataPtr rawdata_;
50 mutable size_t size_;
51
52 mutable util::once_flag_proxy indexInitialized_;
53
54 struct IndexEntry : public ChromatogramIdentity
55 {
56 CVID chromatogramType;
57 int function;
58 int offset;
59 float Q1, Q3;
60 };
61
62 mutable std::vector<IndexEntry> index_;
63 mutable std::map<std::string, size_t> idToIndexMap_;
64
65 void createIndex() const;
66#endif // PWIZ_READER_WATERS
67};
68
69
70} // detail
71} // msdata
72} // pwiz
#define PWIZ_API_DECL
Definition Export.hpp:32
common functionality for base ChromatogramList implementations
virtual size_t find(const std::string &id) const
find id in the chromatogram index (returns size() on failure)
virtual size_t size() const
returns the number of chromatograms
virtual ChromatogramPtr chromatogram(size_t index, bool getBinaryData) const
retrieve a chromatogram by index
virtual const ChromatogramIdentity & chromatogramIdentity(size_t index) const
access to a chromatogram index
virtual ChromatogramPtr chromatogram(size_t index, bool getBinaryData, double lockmassMzPosScans, double lockmassMzNegScans, double lockmassTolerance) const
boost::shared_ptr< Chromatogram > ChromatogramPtr
Definition MSData.hpp:624
Identifying information for a chromatogram.
Definition MSData.hpp:490