00001 // -------------------------------------------------------------------------- 00002 // OpenMS -- Open-Source Mass Spectrometry 00003 // -------------------------------------------------------------------------- 00004 // Copyright The OpenMS Team -- Eberhard Karls University Tuebingen, 00005 // ETH Zurich, and Freie Universitaet Berlin 2002-2012. 00006 // 00007 // This software is released under a three-clause BSD license: 00008 // * Redistributions of source code must retain the above copyright 00009 // notice, this list of conditions and the following disclaimer. 00010 // * Redistributions in binary form must reproduce the above copyright 00011 // notice, this list of conditions and the following disclaimer in the 00012 // documentation and/or other materials provided with the distribution. 00013 // * Neither the name of any author or any participating institution 00014 // may be used to endorse or promote products derived from this software 00015 // without specific prior written permission. 00016 // For a full list of authors, refer to the file AUTHORS. 00017 // -------------------------------------------------------------------------- 00018 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00019 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00020 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00021 // ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING 00022 // INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 00023 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 00024 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 00025 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 00026 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 00027 // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 00028 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00029 // 00030 // -------------------------------------------------------------------------- 00031 // $Maintainer: Florian Zeller $ 00032 // $Authors: Lukas Mueller, Markus Mueller $ 00033 // -------------------------------------------------------------------------- 00034 // 00036 // 00037 // written by Lukas N Mueller, 30.3.05 00038 // Lukas.Mueller@imsb.biol.ethz.ch 00039 // Group of Prof. Ruedi Aebersold, IMSB, ETH Hoenggerberg, Zurich 00040 // 00041 // Ported to OpenMS by Florian Zeller, florian.zeller@bsse.ethz.ch 00042 // December 2010 00043 // 00044 00045 #ifndef OPENMS_TRANSFORMATIONS_FEATUREFINDER_SUPERHIRN_CONSENSUSISOTOPEPATTERN_H 00046 #define OPENMS_TRANSFORMATIONS_FEATUREFINDER_SUPERHIRN_CONSENSUSISOTOPEPATTERN_H 00047 00048 #include <OpenMS/CONCEPT/Types.h> 00049 00050 #include <map> 00051 #include <vector> 00052 00053 namespace OpenMS 00054 { 00055 00056 class OPENMS_DLLAPI ConsensusIsotopePattern 00057 { 00058 00060 // declaration of the private members: 00061 00062 private: 00063 00064 // stores the consensus pattern: 00065 std::map<double, double> isotopesTrace_; 00066 std::vector<double> mzIsotopesStDev_; 00067 std::vector<double> intensIsotopesStDev_; 00068 00069 // stores the detected patterns by retention time 00070 std::map<double, std::pair<std::vector<double>, std::vector<double> > > rawIsotopes_; 00071 00073 // declaration of the public members: 00074 00075 public: 00076 00077 // class destructor 00078 ~ConsensusIsotopePattern(); 00079 00080 // class constructor 00081 ConsensusIsotopePattern(); 00082 // class copy constructor 00083 ConsensusIsotopePattern(const ConsensusIsotopePattern &); 00084 // class copy constructor 00085 ConsensusIsotopePattern(const ConsensusIsotopePattern *); 00086 00088 // overload operators: 00089 ConsensusIsotopePattern & operator=(const ConsensusIsotopePattern &); 00090 bool operator==(const ConsensusIsotopePattern &); 00091 ConsensusIsotopePattern & operator<=(const ConsensusIsotopePattern &); 00092 ConsensusIsotopePattern & operator>=(const ConsensusIsotopePattern &); 00093 ConsensusIsotopePattern & operator<(const ConsensusIsotopePattern &); 00094 ConsensusIsotopePattern & operator>(const ConsensusIsotopePattern &); 00095 00096 // constructs the consensus pattern: 00097 void constructConsusPattern(); 00098 // order an isotope trace in the correct cluster: 00099 void addIsotopeTrace(double, double); 00100 // condenses the pattern, make average peaks from the traces: 00101 void condensIsotopePattern(std::pair<std::vector<double>, std::vector<double> > *); 00102 00104 // start here all the get / set 00105 // function to access the 00106 // variables of the class 00107 00108 std::map<double, double>::iterator getConsensIsotopeIteratorStart(); 00109 std::map<double, double>::iterator getConsensIsotopeIteratorEnd(); 00110 00111 }; 00112 00113 inline std::map<double, double>::iterator ConsensusIsotopePattern::getConsensIsotopeIteratorStart() 00114 { 00115 return isotopesTrace_.begin(); 00116 } 00117 00118 inline std::map<double, double>::iterator ConsensusIsotopePattern::getConsensIsotopeIteratorEnd() 00119 { 00120 return isotopesTrace_.end(); 00121 } 00122 00123 } // ns 00124 00125 00126 #endif // OPENMS_TRANSFORMATIONS_FEATUREFINDER_SUPERHIRN_CONSENSUSISOTOPEPATTERN_H
| OpenMS / TOPP release 1.10.0 | Documentation generated on Thu Mar 7 2013 09:42:38 using doxygen 1.7.1 |