| OpenMS 2.5.0

LCMSCData.h
Go to the documentation of this file.
1 // --------------------------------------------------------------------------
2 // OpenMS -- Open-Source Mass Spectrometry
3 // --------------------------------------------------------------------------
4 // Copyright The OpenMS Team -- Eberhard Karls University Tuebingen,
5 // ETH Zurich, and Freie Universitaet Berlin 2002-2020.
6 //
7 // This software is released under a three-clause BSD license:
8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright
11 // notice, this list of conditions and the following disclaimer in the
12 // documentation and/or other materials provided with the distribution.
13 // * Neither the name of any author or any participating institution
14 // may be used to endorse or promote products derived from this software
15 // without specific prior written permission.
16 // For a full list of authors, refer to the file AUTHORS.
17 // --------------------------------------------------------------------------
18 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 // ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING
22 // INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
27 // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
28 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 //
30 // --------------------------------------------------------------------------
31 // $Maintainer: Timo Sachsenberg $
32 // $Authors: Lukas Mueller, Markus Mueller $
33 // --------------------------------------------------------------------------
34 //
36 //
37 // PEAK DETECTION OF FOURIER TRANSFORME MS INSTRUMENT DATA
38 //
39 // written by Markus Mueller, markus.mueller@imsb.biol.ethz.ch
40 // and Lukas Mueller, Lukas.Mueller@imsb.biol.ethz.ch
41 // October 2005
42 //
43 // Ported to OpenMS by Florian Zeller, florian.zeller@bsse.ethz.ch
44 // December 2010
45 //
46 // Group of Prof. Ruedi Aebersold, IMSB, ETH Hoenggerberg, Zurich
47 //
48 //
49
50 #pragma once
51
52 #include <OpenMS/TRANSFORMATIONS/FEATUREFINDER/SUPERHIRN/SuperHirnConfig.h>
53
54 #include <OpenMS/TRANSFORMATIONS/FEATUREFINDER/SUPERHIRN/LCElutionPeak.h>
55
56 namespace OpenMS
57 {
58
59 class SUPERHIRN_DLLAPI LCMSCData
60 {
61 public:
62 typedef std::map<int, LCElutionPeak> elution_peak_list;
63 typedef std::map<int, LCElutionPeak>::iterator elution_peak_list_ITERATOR;
64 typedef std::map<double, elution_peak_list> MZ_LIST;
65 typedef MZ_LIST::iterator MZ_LIST_ITERATOR;
66
67 LCMSCData();
68 LCMSCData(const LCMSCData &);
69 LCMSCData(const LCMSCData *);
70 virtual ~LCMSCData();
71
73 // overload operators:
74 LCMSCData & operator=(const LCMSCData &);
75
77 // start here all the get / set
78 // function to access the
79 // variables of the class
80
81 // start / end of the mz list:
82 MZ_LIST_ITERATOR get_DATA_start();
83 MZ_LIST_ITERATOR get_DATA_end();
84
85 // find data of a specific m/z:
86 MZ_LIST_ITERATOR get_MZ_by_iterator(double);
87 // add data into the structure:
88 void add_LC_elution_peak(double, LCElutionPeak *);
89
90 // get a list of m/z observed in a scan +/- scan_tolerance:
91 // return the area of the LC elution peaks
92 std::vector<LCElutionPeak> get_MZ_list(int);
93 std::vector<LCElutionPeak> get_MZ_list(int, int);
94
95 // get all extracted LC peaks:
96 std::vector<LCElutionPeak *> get_ALL_peak();
97 // get a vector with all LC peaks ordered by their score:
98 std::vector<LCElutionPeak *> get_ALL_peak_ordered();
99
100
101 /*
103 // operator which compares LC elution peaks
104 // by their score:
105 struct OPERATOR_LC_PEAK{
106 bool operator()(LCElutionPeak* A,LCElutionPeak* B) const{
107 return A->get_LC_score() < B->get_LC_score();
108 }
109 };
110 */
111
112 // minimal MS peak intensity allowed:
113 // static float intensity_min_threshold;
114
115
116
117 protected:
118
119 // main data structure:
120 MZ_LIST DATA;
121
122
123 };
124
125 } // ns
126
OpenMS::LCMSCData::elution_peak_list
std::map< int, LCElutionPeak > elution_peak_list
Definition: LCMSCData.h:62
OpenMS::LCMSCData::elution_peak_list_ITERATOR
std::map< int, LCElutionPeak >::iterator elution_peak_list_ITERATOR
Definition: LCMSCData.h:63
OpenMS::LCMSCData::DATA
MZ_LIST DATA
Definition: LCMSCData.h:120
OpenMS::LCElutionPeak
Definition: LCElutionPeak.h:67
LCElutionPeak.h
OpenMS::LCMSCData::MZ_LIST
std::map< double, elution_peak_list > MZ_LIST
Definition: LCMSCData.h:64
OpenMS
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:46
OpenMS::LCMSCData::MZ_LIST_ITERATOR
MZ_LIST::iterator MZ_LIST_ITERATOR
Definition: LCMSCData.h:65
OpenMS::LCMSCData
Definition: LCMSCData.h:59