| OpenMS 2.5.0

Public Member Functions | Private Attributes | List of all members
MSDataAggregatingConsumer Class Reference

Aggregates spectra by retention time. More...

`#include <OpenMS/FORMAT/DATAACCESS/MSDataAggregatingConsumer.h>`

Inheritance diagram for MSDataAggregatingConsumer:

## Public Member Functions

| MSDataAggregatingConsumer (Interfaces::IMSDataConsumer *next_consumer)
| Constructor. More...
| ~MSDataAggregatingConsumer () override
| Constructor. More...
void | setExpectedSize (Size, Size) override
| Set expected size of spectra and chromatograms to be consumed. More...
void | consumeSpectrum (SpectrumType &s) override
| Consume a spectrum. More...
void | consumeChromatogram (ChromatogramType &c) override
| Consume a chromatogram. More...
void | setExperimentalSettings (const OpenMS::ExperimentalSettings &) override
| Set experimental settings (meta-data) of the data to be consumed. More...
Public Member Functions inherited from IMSDataConsumer
virtual | ~IMSDataConsumer ()

## Private Attributes

Interfaces::IMSDataConsumer * | next_consumer_
double | previous_rt_
bool | rt_initialized_
SpectrumType | s_tmp
std::vector< SpectrumType > | s_list

## Additional Inherited Members

Public Types inherited from IMSDataConsumer
typedef MSSpectrum | SpectrumType
typedef MSChromatogram | ChromatogramType

## Detailed Description

Aggregates spectra by retention time.

## Constructor & Destructor Documentation

## ◆ MSDataAggregatingConsumer()

MSDataAggregatingConsumer | ( | Interfaces::IMSDataConsumer * | next_consumer | ) |

inline

Constructor.

Note
  This does not transfer ownership of the consumer

## ◆ ~MSDataAggregatingConsumer()

~MSDataAggregatingConsumer | ( |  | ) |

override

Constructor.

Flushes data to next consumer

Note
  It is essential to not delete the underlying next_consumer before deleting this object, otherwise we risk a memory error

## Member Function Documentation

## ◆ consumeChromatogram()

void consumeChromatogram | ( | ChromatogramType & |  | ) |

override virtual

Consume a chromatogram.

The chromatogram will be consumed by the implementation and possibly modified.

Note
  The implementation might not allow to consume spectra and chromatograms in any order

Parameters

  s | The chromatogram to be consumed

Implements IMSDataConsumer.

## ◆ consumeSpectrum()

void consumeSpectrum | ( | SpectrumType & | s | ) |

override virtual

Consume a spectrum.

The spectrum will be consumed by the implementation and possibly modified.

Note
  The implementation might not allow to consume spectra and chromatograms in any order

Parameters

  s | The spectrum to be consumed

Implements IMSDataConsumer.

## ◆ setExpectedSize()

void setExpectedSize | ( | Size | expectedSpectra,
|  | Size | expectedChromatograms
| ) |  |

inline override virtual

Set expected size of spectra and chromatograms to be consumed.

Some implementations might care about the number of spectra and chromatograms to be consumed and need to be informed about this (usually before consuming starts).

Note
  Calling this method is optional but good practice.

Parameters

  expectedSpectra | Number of spectra expected
  expectedChromatograms | Number of chromatograms expected

Implements IMSDataConsumer.

## ◆ setExperimentalSettings()

void setExperimentalSettings | ( | const OpenMS::ExperimentalSettings & | exp | ) |

inline override virtual

Set experimental settings (meta-data) of the data to be consumed.

Some implementations might need to know about the meta-data (or the context) of the spectra and chromatograms to be consumed. This method allows them learn this.

Note
  Calling this method is optional but good practice.

Parameters

  exp | Experimental settings meta data for the data to be consumed

Implements IMSDataConsumer.

## Member Data Documentation

## ◆ next_consumer_

Interfaces::IMSDataConsumer* next_consumer_

private

## ◆ previous_rt_

double previous_rt_

private

## ◆ rt_initialized_

bool rt_initialized_

private

## ◆ s_list

std::vector<SpectrumType> s_list

private

## ◆ s_tmp

SpectrumType s_tmp

private