ProteoWizard
SpectrumList_ScanSummer.hpp
Go to the documentation of this file.
1 //
2 // $Id$
3 //
4 //
5 // Original author: William French <william.r.french .@. vanderbilt.edu>
6 //
7 // Copyright 2008 Spielberg Family Center for Applied Proteomics
8 // Cedars-Sinai Medical Center, Los Angeles, California 90048
9 // Copyright 2008 Vanderbilt University - Nashville, TN 37232
10 //
11 // Licensed under the Apache License, Version 2.0 (the "License");
12 // you may not use this file except in compliance with the License.
13 // You may obtain a copy of the License at
14 //
15 // http://www.apache.org/licenses/LICENSE-2.0
16 //
17 // Unless required by applicable law or agreed to in writing, software
18 // distributed under the License is distributed on an "AS IS" BASIS,
19 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20 // See the License for the specific language governing permissions and
21 // limitations under the License.
22 //
23 
24 
25 #ifndef _SPECTRUMLIST_SCANSUMMER_HPP_
26 #define _SPECTRUMLIST_SCANSUMMER_HPP_
27 
28 
32 
33 struct parentIon
34 {
35  double mz;
36  double intensity;
37 };
38 
40 {
41  std::vector<double> precursorMZs;
42  std::vector<double> scanTimes;
43  std::vector<double> ionMobilities;
44  std::vector<int> indexList;
45 };
46 
47 typedef boost::shared_ptr<precursorGroup> precursorGroupPtr;
48 
49 
50 namespace pwiz {
51 namespace analysis {
52 
53 
54 /// Provides a custom-sorted spectrum list
56 {
57  public:
58 
59  SpectrumList_ScanSummer(const msdata::SpectrumListPtr& inner, double precursorTol, double rTimeTol, double mobilityTol = 0, pwiz::util::IterationListenerRegistry* ilr = 0);
61  double getPrecursorMz(const msdata::Spectrum&) const;
62  //void sumSubScansResample( std::vector<double> &, std::vector<double> &, size_t, msdata::DetailLevel) const;
64  virtual size_t size() const;
65  virtual const msdata::SpectrumIdentity& spectrumIdentity(size_t index) const;
66  virtual msdata::SpectrumPtr spectrum(size_t index, bool getBinaryData = false) const;
67  virtual msdata::SpectrumPtr spectrum(size_t index, msdata::DetailLevel) const;
68 
69  private:
70 
71  double lowerMZlimit;
72  double upperMZlimit;
73  double TotalDaltons;
74  double precursorTol_;
75  double rTimeTol_;
76  double mobilityTol_;
77 
78  std::vector<msdata::SpectrumIdentity> spectrumIdentities; // local cache, with fixed up index fields
79  std::vector<size_t> indexMap; // maps index -> original index
80  std::vector<precursorGroupPtr> precursorMap; // maps new index -> precursor group
81  std::map<double, precursorGroupPtr> precursorList;
82  std::vector<precursorGroupPtr> ms2RetentionTimes;
85 };
86 
87 
88 } // namespace analysis
89 } // namespace pwiz
90 
91 
92 #endif // _SPECTRUMLIST_SCANSUMMER_HPP_
93 
precursorGroupPtr
boost::shared_ptr< precursorGroup > precursorGroupPtr
Definition: SpectrumList_ScanSummer.hpp:47
pwiz::analysis::SpectrumList_ScanSummer::rTimeTol_
double rTimeTol_
Definition: SpectrumList_ScanSummer.hpp:75
pwiz::analysis::SpectrumList_ScanSummer::SpectrumList_ScanSummer
SpectrumList_ScanSummer(const msdata::SpectrumListPtr &inner, double precursorTol, double rTimeTol, double mobilityTol=0, pwiz::util::IterationListenerRegistry *ilr=0)
IterationListener.hpp
pwiz::msdata::SpectrumListPtr
boost::shared_ptr< SpectrumList > SpectrumListPtr
Definition: MSData.hpp:711
precursorGroup::indexList
std::vector< int > indexList
Definition: SpectrumList_ScanSummer.hpp:44
pwiz::analysis::SpectrumList_ScanSummer::SpectrumList_ScanSummer
SpectrumList_ScanSummer(SpectrumList_ScanSummer &)
pwiz::analysis::SpectrumList_ScanSummer::mobilityTol_
double mobilityTol_
Definition: SpectrumList_ScanSummer.hpp:76
pwiz::msdata::SpectrumIdentity
Identifying information for a spectrum.
Definition: MSData.hpp:471
pwiz::msdata::Spectrum
The structure that captures the generation of a peak list (including the underlying acquisitions)
Definition: MSData.hpp:506
pwiz
Definition: ChromatogramList_Filter.hpp:36
pwiz::msdata::SpectrumListWrapper
Inheritable pass-through implementation for wrapping a SpectrumList.
Definition: SpectrumListWrapper.hpp:38
pwiz::analysis::SpectrumList_ScanSummer::pushSpectrum
void pushSpectrum(const msdata::SpectrumIdentity &)
PWIZ_API_DECL
#define PWIZ_API_DECL
Definition: Export.hpp:32
precursorGroup
Definition: SpectrumList_ScanSummer.hpp:40
pwiz::analysis::SpectrumList_ScanSummer::spectrumIdentities
std::vector< msdata::SpectrumIdentity > spectrumIdentities
Definition: SpectrumList_ScanSummer.hpp:78
pwiz::analysis::SpectrumList_ScanSummer::spectrum
virtual msdata::SpectrumPtr spectrum(size_t index, bool getBinaryData=false) const
retrieve a spectrum by index
Export.hpp
parentIon::intensity
double intensity
Definition: SpectrumList_ScanSummer.hpp:36
parentIon
Definition: SpectrumList_ScanSummer.hpp:34
pwiz::analysis::SpectrumList_ScanSummer::precursorMap
std::vector< precursorGroupPtr > precursorMap
Definition: SpectrumList_ScanSummer.hpp:80
pwiz::analysis::SpectrumList_ScanSummer::lowerMZlimit
double lowerMZlimit
Definition: SpectrumList_ScanSummer.hpp:71
pwiz::analysis::SpectrumList_ScanSummer::getPrecursorMz
double getPrecursorMz(const msdata::Spectrum &) const
pwiz::util::IterationListenerRegistry
handles registration of IterationListeners and broadcast of update messages
Definition: IterationListener.hpp:66
pwiz::analysis::SpectrumList_ScanSummer::spectrum
virtual msdata::SpectrumPtr spectrum(size_t index, msdata::DetailLevel) const
retrieve a spectrum by index
pwiz::msdata::SpectrumPtr
boost::shared_ptr< Spectrum > SpectrumPtr
Definition: MSData.hpp:573
pwiz::util::BinaryData< double >
pwiz::analysis::SpectrumList_ScanSummer::spectrumIdentity
virtual const msdata::SpectrumIdentity & spectrumIdentity(size_t index) const
access to a spectrum index
pwiz::analysis::SpectrumList_ScanSummer::operator=
SpectrumList_ScanSummer & operator=(SpectrumList_ScanSummer &)
pwiz::analysis::SpectrumList_ScanSummer::upperMZlimit
double upperMZlimit
Definition: SpectrumList_ScanSummer.hpp:72
pwiz::analysis::SpectrumList_ScanSummer::sumSubScansNaive
void sumSubScansNaive(pwiz::util::BinaryData< double > &, pwiz::util::BinaryData< double > &, const precursorGroupPtr &, msdata::DetailLevel) const
pwiz::analysis::SpectrumList_ScanSummer::indexMap
std::vector< size_t > indexMap
Definition: SpectrumList_ScanSummer.hpp:79
precursorGroup::ionMobilities
std::vector< double > ionMobilities
Definition: SpectrumList_ScanSummer.hpp:43
pwiz::analysis::SpectrumList_ScanSummer::precursorTol_
double precursorTol_
Definition: SpectrumList_ScanSummer.hpp:74
precursorGroup::scanTimes
std::vector< double > scanTimes
Definition: SpectrumList_ScanSummer.hpp:42
parentIon::mz
double mz
Definition: SpectrumList_ScanSummer.hpp:35
pwiz::msdata::DetailLevel
DetailLevel
Definition: MSData.hpp:631
pwiz::analysis::SpectrumList_ScanSummer::TotalDaltons
double TotalDaltons
Definition: SpectrumList_ScanSummer.hpp:73
pwiz::analysis::SpectrumList_ScanSummer
Provides a custom-sorted spectrum list.
Definition: SpectrumList_ScanSummer.hpp:56
pwiz::analysis::SpectrumList_ScanSummer::ms2RetentionTimes
std::vector< precursorGroupPtr > ms2RetentionTimes
Definition: SpectrumList_ScanSummer.hpp:82
pwiz::analysis::SpectrumList_ScanSummer::size
virtual size_t size() const
returns the number of spectra
precursorGroup::precursorMZs
std::vector< double > precursorMZs
Definition: SpectrumList_ScanSummer.hpp:41
pwiz::analysis::SpectrumList_ScanSummer::precursorList
std::map< double, precursorGroupPtr > precursorList
Definition: SpectrumList_ScanSummer.hpp:81
SpectrumListWrapper.hpp