ProteoWizard
SpectrumList_ZeroSamplesFilter.hpp
Go to the documentation of this file.
1//
2// $Id$
3//
4//
5// Original author: Brian Pratt <brian.pratt <a.t> insilicos.com>
6//
7// Copyright 2012 Spielberg Family Center for Applied Proteomics
8// University of Southern California, Los Angeles, California 90033
9//
10// Licensed under the Apache License, Version 2.0 (the "License");
11// you may not use this file except in compliance with the License.
12// You may obtain a copy of the License at
13//
14// http://www.apache.org/licenses/LICENSE-2.0
15//
16// Unless required by applicable law or agreed to in writing, software
17// distributed under the License is distributed on an "AS IS" BASIS,
18// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19// See the License for the specific language governing permissions and
20// limitations under the License.
21//
22
23
24#ifndef _SPECTRUMLIST_ZEROSAMPLESFILTER_HPP_
25#define _SPECTRUMLIST_ZEROSAMPLESFILTER_HPP_
26
27
31
32
33namespace pwiz {
34namespace analysis {
35
36
37/// SpectrumList implementation to return spectra with or without extra zero samples
39{
40 public:
41
42 enum Mode {Mode_RemoveExtraZeros, Mode_AddMissingZeros};
43
45 const util::IntegerSet& msLevelsToFilter,
46 Mode mode,
47 size_t FlankingZeroCount);
48
49
50 static bool accept(const msdata::SpectrumListPtr& inner);
51
52 virtual msdata::SpectrumPtr spectrum(size_t index, bool getBinaryData = false) const;
53
54 private:
55 const Mode mode_; // Mode_RemoveExtraZeros or Mode_AddMissingZeros
56 const size_t flankingZeroCount_; // used if adding missing zeros
58};
59
60
61} // namespace analysis
62} // namespace pwiz
63
64
65#endif // _SPECTRUMLIST_ZEROSAMPLESFILTER_HPP_
#define PWIZ_API_DECL
Definition Export.hpp:32
SpectrumList implementation to return spectra with or without extra zero samples.
virtual msdata::SpectrumPtr spectrum(size_t index, bool getBinaryData=false) const
retrieve a spectrum by index
SpectrumList_ZeroSamplesFilter(const msdata::SpectrumListPtr &inner, const util::IntegerSet &msLevelsToFilter, Mode mode, size_t FlankingZeroCount)
static bool accept(const msdata::SpectrumListPtr &inner)
Inheritable pass-through implementation for wrapping a SpectrumList.
a virtual container of integers, accessible via an iterator interface, stored as union of intervals
boost::shared_ptr< SpectrumList > SpectrumListPtr
Definition MSData.hpp:711
boost::shared_ptr< Spectrum > SpectrumPtr
Definition MSData.hpp:573