OpenMS
Loading...
Searching...
No Matches
AreaIterator< ValueT, ReferenceT, PointerT, SpectrumIteratorT, PeakIteratorT > Class Template Reference

Forward iterator for an area of peaks in an experiment. More...

#include <OpenMS/KERNEL/AreaIterator.h>

Collaboration diagram for AreaIterator< ValueT, ReferenceT, PointerT, SpectrumIteratorT, PeakIteratorT >:
[legend]

Classes

class  Param
 

Public Types

typedef double CoordinateType
 
typedef ValueT PeakType
 
typedef SpectrumIteratorT SpectrumIteratorType
 
typedef PeakIteratorT PeakIteratorType
 
using SpectrumT = typename std::iterator_traits< SpectrumIteratorType >::value_type
 

Typedefs for STL compliance, these replace std::iterator

typedef std::forward_iterator_tag iterator_category
 The iterator's category type.
 
typedef ValueT value_type
 The iterator's value type.
 
typedef ReferenceT reference
 The reference type as returned by operator*()
 
typedef PointerT pointer
 The pointer type as returned by operator->()
 
typedef unsigned int difference_type
 The difference type.
 
Param p_
 holds spectra iterators and area limits
 
 AreaIterator (const Param &p)
 Constructor for the begin iterator.
 
 AreaIterator ()
 Default constructor (for the end iterator)
 
 ~AreaIterator ()=default
 Destructor.
 
 AreaIterator (const AreaIterator &rhs)=default
 Copy constructor.
 
AreaIteratoroperator= (const AreaIterator &rhs)
 Assignment operator.
 
bool operator== (const AreaIterator &rhs) const
 Test for equality.
 
bool operator!= (const AreaIterator &rhs) const
 Test for inequality.
 
AreaIteratoroperator++ ()
 Step forward by one (prefix operator)
 
AreaIterator operator++ (int)
 Step forward by one (postfix operator)
 
reference operator* () const
 Dereferencing of this pointer yields the underlying peak.
 
pointer operator-> () const
 Dereferencing of this pointer yields the underlying peak.
 
CoordinateType getRT () const
 returns the retention time of the current scan
 
CoordinateType getDriftTime () const
 returns the ion mobility time of the current scan
 
const SpectrumTgetSpectrum () const
 returns the current scan into which the iterator points
 
PeakIndex getPeakIndex () const
 returns the PeakIndex corresponding to the current iterator position
 
void nextScan_ ()
 advances the iterator to the next valid peak in the next valid spectrum
 

Detailed Description

template<class ValueT, class ReferenceT, class PointerT, class SpectrumIteratorT, class PeakIteratorT>
class OpenMS::Internal::AreaIterator< ValueT, ReferenceT, PointerT, SpectrumIteratorT, PeakIteratorT >

Forward iterator for an area of peaks in an experiment.

This iterator allows us to move through the data structure in a linear manner i.e. we don't need to jump to the next spectrum manually.

Ion mobility can also be filtered for: the low/high range for IM are used to skip over spectra in the given RT range whose drift time is not within the given range. I.e. the RT range could contain multiple IM frames.

Note
This iterator iterates over spectra with same MS level as the MS level of the begin() spectrum in Param! You can explicitly set another MS level as well.

Member Typedef Documentation

◆ CoordinateType

template<class ValueT , class ReferenceT , class PointerT , class SpectrumIteratorT , class PeakIteratorT >
typedef double CoordinateType

◆ difference_type

template<class ValueT , class ReferenceT , class PointerT , class SpectrumIteratorT , class PeakIteratorT >
typedef unsigned int difference_type

The difference type.

◆ iterator_category

template<class ValueT , class ReferenceT , class PointerT , class SpectrumIteratorT , class PeakIteratorT >
typedef std::forward_iterator_tag iterator_category

The iterator's category type.

◆ PeakIteratorType

template<class ValueT , class ReferenceT , class PointerT , class SpectrumIteratorT , class PeakIteratorT >
typedef PeakIteratorT PeakIteratorType

◆ PeakType

template<class ValueT , class ReferenceT , class PointerT , class SpectrumIteratorT , class PeakIteratorT >
typedef ValueT PeakType

◆ pointer

template<class ValueT , class ReferenceT , class PointerT , class SpectrumIteratorT , class PeakIteratorT >
typedef PointerT pointer

The pointer type as returned by operator->()

◆ reference

template<class ValueT , class ReferenceT , class PointerT , class SpectrumIteratorT , class PeakIteratorT >
typedef ReferenceT reference

The reference type as returned by operator*()

◆ SpectrumIteratorType

template<class ValueT , class ReferenceT , class PointerT , class SpectrumIteratorT , class PeakIteratorT >
typedef SpectrumIteratorT SpectrumIteratorType

◆ SpectrumT

template<class ValueT , class ReferenceT , class PointerT , class SpectrumIteratorT , class PeakIteratorT >
using SpectrumT = typename std::iterator_traits<SpectrumIteratorType>::value_type

◆ value_type

template<class ValueT , class ReferenceT , class PointerT , class SpectrumIteratorT , class PeakIteratorT >
typedef ValueT value_type

The iterator's value type.

Constructor & Destructor Documentation

◆ AreaIterator() [1/3]

template<class ValueT , class ReferenceT , class PointerT , class SpectrumIteratorT , class PeakIteratorT >
AreaIterator ( const Param p)
inlineexplicit

◆ AreaIterator() [2/3]

template<class ValueT , class ReferenceT , class PointerT , class SpectrumIteratorT , class PeakIteratorT >
AreaIterator ( )
inline

Default constructor (for the end iterator)

◆ ~AreaIterator()

template<class ValueT , class ReferenceT , class PointerT , class SpectrumIteratorT , class PeakIteratorT >
~AreaIterator ( )
default

Destructor.

◆ AreaIterator() [3/3]

template<class ValueT , class ReferenceT , class PointerT , class SpectrumIteratorT , class PeakIteratorT >
AreaIterator ( const AreaIterator< ValueT, ReferenceT, PointerT, SpectrumIteratorT, PeakIteratorT > &  rhs)
default

Copy constructor.

Member Function Documentation

◆ getDriftTime()

template<class ValueT , class ReferenceT , class PointerT , class SpectrumIteratorT , class PeakIteratorT >
CoordinateType getDriftTime ( ) const
inline

◆ getPeakIndex()

◆ getRT()

template<class ValueT , class ReferenceT , class PointerT , class SpectrumIteratorT , class PeakIteratorT >
CoordinateType getRT ( ) const
inline

◆ getSpectrum()

template<class ValueT , class ReferenceT , class PointerT , class SpectrumIteratorT , class PeakIteratorT >
const SpectrumT & getSpectrum ( ) const
inline

◆ nextScan_()

template<class ValueT , class ReferenceT , class PointerT , class SpectrumIteratorT , class PeakIteratorT >
void nextScan_ ( )
inlineprivate

◆ operator!=()

template<class ValueT , class ReferenceT , class PointerT , class SpectrumIteratorT , class PeakIteratorT >
bool operator!= ( const AreaIterator< ValueT, ReferenceT, PointerT, SpectrumIteratorT, PeakIteratorT > &  rhs) const
inline

Test for inequality.

◆ operator*()

template<class ValueT , class ReferenceT , class PointerT , class SpectrumIteratorT , class PeakIteratorT >
reference operator* ( ) const
inline

◆ operator++() [1/2]

◆ operator++() [2/2]

template<class ValueT , class ReferenceT , class PointerT , class SpectrumIteratorT , class PeakIteratorT >
AreaIterator operator++ ( int  )
inline

Step forward by one (postfix operator)

◆ operator->()

template<class ValueT , class ReferenceT , class PointerT , class SpectrumIteratorT , class PeakIteratorT >
pointer operator-> ( ) const
inline

◆ operator=()

template<class ValueT , class ReferenceT , class PointerT , class SpectrumIteratorT , class PeakIteratorT >
AreaIterator & operator= ( const AreaIterator< ValueT, ReferenceT, PointerT, SpectrumIteratorT, PeakIteratorT > &  rhs)
inline

◆ operator==()

template<class ValueT , class ReferenceT , class PointerT , class SpectrumIteratorT , class PeakIteratorT >
bool operator== ( const AreaIterator< ValueT, ReferenceT, PointerT, SpectrumIteratorT, PeakIteratorT > &  rhs) const
inline

Member Data Documentation

◆ p_