ProteoWizard
ChromatogramList_Agilent.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
23#ifndef _CHROMATOGRAMLIST_AGILENT_
24#define _CHROMATOGRAMLIST_AGILENT_
25
26
30
31
32#ifdef PWIZ_READER_AGILENT
33#include "pwiz_aux/msrc/utility/vendor_api/Agilent/MassHunterData.hpp"
35using namespace pwiz::vendor_api::Agilent;
36#endif // PWIZ_READER_AGILENT
37
38
39namespace pwiz {
40namespace msdata {
41namespace detail {
42
43
45{
46public:
47
48 virtual size_t size() const;
49 virtual const ChromatogramIdentity& chromatogramIdentity(size_t index) const;
50 virtual size_t find(const string& id) const;
51 virtual ChromatogramPtr chromatogram(size_t index, bool getBinaryData) const;
52
53#ifdef PWIZ_READER_AGILENT
54 ChromatogramList_Agilent(MassHunterDataPtr reader);
55
56 private:
57
58 MassHunterDataPtr rawfile_;
59
60 mutable util::once_flag_proxy indexInitialized_;
61
62 struct IndexEntry : public ChromatogramIdentity
63 {
64 CVID chromatogramType;
65 Transition transition;
66 };
67
68 mutable vector<IndexEntry> index_;
69 mutable map<string, size_t> idMap_;
70
71 void createIndex() const;
72#endif // PWIZ_READER_AGILENT
73};
74
75} // detail
76} // msdata
77} // pwiz
78
79#endif // _CHROMATOGRAMLIST_AGILENT_
#define PWIZ_API_DECL
Definition Export.hpp:32
common functionality for base ChromatogramList implementations
virtual const ChromatogramIdentity & chromatogramIdentity(size_t index) const
access to a chromatogram index
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 size_t find(const string &id) const
find id in the chromatogram index (returns size() on failure)
boost::shared_ptr< Chromatogram > ChromatogramPtr
Definition MSData.hpp:624
Identifying information for a chromatogram.
Definition MSData.hpp:490