Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages

DPeak.h (Maintainer: Marc Sturm)

Go to the documentation of this file.
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