00001 // -*- Mode: C++; tab-width: 2; -*- 00002 // vi: set ts=2: 00003 // 00004 // -------------------------------------------------------------------------- 00005 // OpenMS Mass Spectrometry Framework 00006 // -------------------------------------------------------------------------- 00007 // Copyright (C) 2003-2008 -- Oliver Kohlbacher, Knut Reinert 00008 // 00009 // This library is free software; you can redistribute it and/or 00010 // modify it under the terms of the GNU Lesser General Public 00011 // License as published by the Free Software Foundation; either 00012 // version 2.1 of the License, or (at your option) any later version. 00013 // 00014 // This library is distributed in the hope that it will be useful, 00015 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00017 // Lesser General Public License for more details. 00018 // 00019 // You should have received a copy of the GNU Lesser General Public 00020 // License along with this library; if not, write to the Free Software 00021 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00022 // 00023 // -------------------------------------------------------------------------- 00024 // $Maintainer: Marc Sturm $ 00025 // -------------------------------------------------------------------------- 00026 00027 #ifndef OPENMS_KERNEL_DPEAK_H 00028 #define OPENMS_KERNEL_DPEAK_H 00029 00030 #include <OpenMS/CONCEPT/Types.h> 00031 #include <OpenMS/KERNEL/DRawDataPoint.h> 00032 #include <OpenMS/METADATA/MetaInfoInterface.h> 00033 00034 #include <functional> 00035 #include <sstream> 00036 00037 namespace OpenMS 00038 { 00039 00052 template <UInt D> 00053 class DPeak 00054 : public DRawDataPoint <D>, 00055 public MetaInfoInterface 00056 { 00057 public: 00058 00062 enum 00063 { 00064 DIMENSION = D 00065 }; 00066 typedef DPosition<D> PositionType; 00067 typedef DoubleReal CoordinateType; 00068 typedef DoubleReal IntensityType; 00070 00074 00075 DPeak() 00076 : DRawDataPoint<D>(), 00077 MetaInfoInterface() 00078 { 00079 00080 } 00081 00083 inline DPeak(DPeak const& p) 00084 : DRawDataPoint<D>(p), 00085 MetaInfoInterface(p) 00086 { 00087 } 00088 00090 ~DPeak() 00091 { 00092 } 00094 00096 DPeak& operator = (const DPeak& rhs) 00097 { 00098 if (this==&rhs) return *this; 00099 00100 DRawDataPoint<D>::operator = (rhs); 00101 MetaInfoInterface::operator = (rhs); 00102 00103 return *this; 00104 } 00105 00107 bool operator == (const DPeak& rhs) const 00108 { 00109 return 00110 DRawDataPoint<D>::operator == (rhs) && 00111 MetaInfoInterface::operator == (rhs) 00112 ; 00113 } 00114 00116 bool operator != (const DPeak& rhs) const 00117 { 00118 return !(operator == (rhs)); 00119 } 00120 }; 00121 00123 template <UInt D> 00124 std::ostream& operator << (std::ostream& os, const DPeak<D>& peak) 00125 { 00126 os <<(DRawDataPoint<D>)peak; 00127 return os; 00128 } 00129 00130 00131 } // namespace OpenMS 00132 00133 #endif // OPENMS_KERNEL_DPEAK_H
Generated Tue Apr 1 15:36:33 2008 -- using doxygen 1.5.4 | OpenMS / TOPP 1.1 |