ProteoWizard
SpectrumList_3D.hpp
Go to the documentation of this file.
1//
2// $Id$
3//
4//
5// Original author: Matt Chambers <matt.chambers <a.t> vanderbilt.edu>
6//
7// Copyright 2008 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 _SPECTRUMLIST_3D_HPP_
24#define _SPECTRUMLIST_3D_HPP_
25
26
28#include <boost/icl/interval_set.hpp>
30#include <boost/container/flat_map.hpp>
31
32namespace pwiz {
33namespace analysis {
34
35typedef boost::container::flat_map<double, boost::container::flat_map<double, float> > Spectrum3D;
36typedef boost::shared_ptr<Spectrum3D> Spectrum3DPtr;
37
38/// SpectrumList implementation that can create 3D spectra of ion mobility drift time and m/z
40{
41 public:
42
44
45 static bool accept(const msdata::SpectrumListPtr& inner);
46 virtual msdata::SpectrumPtr spectrum(size_t index, bool getBinaryData = false) const;
47
48 /// creates a 3d spectrum at the given scan start time (specified in seconds) and including the given drift time ranges (specified in milliseconds)
49 virtual Spectrum3DPtr spectrum3d(double scanStartTime, const boost::icl::interval_set<double>& driftTimeRanges) const;
50
51 private:
52 int mode_;
53};
54
55
56} // namespace analysis
57} // namespace pwiz
58
59
60#endif // _SPECTRUMLIST_3D_HPP_
#define PWIZ_API_DECL
Definition Export.hpp:32
SpectrumList implementation that can create 3D spectra of ion mobility drift time and m/z.
virtual msdata::SpectrumPtr spectrum(size_t index, bool getBinaryData=false) const
retrieve a spectrum by index
static bool accept(const msdata::SpectrumListPtr &inner)
SpectrumList_3D(const msdata::SpectrumListPtr &inner)
virtual Spectrum3DPtr spectrum3d(double scanStartTime, const boost::icl::interval_set< double > &driftTimeRanges) const
creates a 3d spectrum at the given scan start time (specified in seconds) and including the given dri...
Inheritable pass-through implementation for wrapping a SpectrumList.
boost::shared_ptr< Spectrum3D > Spectrum3DPtr
boost::container::flat_map< double, boost::container::flat_map< double, float > > Spectrum3D
boost::shared_ptr< SpectrumList > SpectrumListPtr
Definition MSData.hpp:711
boost::shared_ptr< Spectrum > SpectrumPtr
Definition MSData.hpp:573