OpenMS  2.6.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 
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:
121 
122 
123  };
124 
125 } // ns
126 
OpenMS::LCElutionPeak
Definition: LCElutionPeak.h:67
OpenMS::LCMSCData::MZ_LIST
std::map< double, elution_peak_list > MZ_LIST
Definition: LCMSCData.h:64
OpenMS::LCMSCData::elution_peak_list
std::map< int, LCElutionPeak > elution_peak_list
Definition: LCMSCData.h:62
OpenMS::LCMSCData::MZ_LIST_ITERATOR
MZ_LIST::iterator MZ_LIST_ITERATOR
Definition: LCMSCData.h:65
OpenMS
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:46
OpenMS::LCMSCData::DATA
MZ_LIST DATA
Definition: LCMSCData.h:120
OpenMS::LCMSCData
Definition: LCMSCData.h:59
LCElutionPeak.h
OpenMS::LCMSCData::elution_peak_list_ITERATOR
std::map< int, LCElutionPeak >::iterator elution_peak_list_ITERATOR
Definition: LCMSCData.h:63