51 class ChromatogramPeak;
105 typedef std::vector<SpectrumType>
Base;
110 typedef std::vector<SpectrumType>::iterator
Iterator;
129 return spectra_.size();
139 return spectra_.empty();
159 return spectra_.begin();
164 return spectra_.begin();
169 return spectra_.end();
174 return spectra_.end();
214 template <
class Container>
217 for (
typename Base::const_iterator spec = spectra_.begin(); spec != spectra_.end(); ++spec)
219 if (spec->getMSLevel() != 1)
223 typename Container::value_type s;
224 for (
typename SpectrumType::const_iterator it = spec->begin(); it != spec->end(); ++it)
227 cont.back().setRT(spec->getRT());
228 cont.back().setMZ(it->getMZ());
229 cont.back().setIntensity(it->getIntensity());
245 template <
class Container>
248 set2DData<false, Container>(container);
265 template <
class Container>
272 for (
typename Container::const_iterator iter = container.begin(); iter != container.end(); ++iter)
275 if (current_rt != iter->getRT() || spectrum ==
nullptr)
278 if (current_rt > iter->getRT())
282 current_rt = iter->getRT();
283 spectrum = createSpec_(current_rt, store_metadata_names);
308 template <
bool add_mass_traces,
class Container>
315 for (
typename Container::const_iterator iter = container.begin(); iter != container.end(); ++iter)
318 if (current_rt != iter->getRT() || spectrum ==
nullptr)
321 if (current_rt > iter->getRT())
325 current_rt = iter->getRT();
326 spectrum = createSpec_(current_rt);
339 AreaIterator areaBegin(CoordinateType min_rt, CoordinateType max_rt, CoordinateType min_mz, CoordinateType max_mz);
498 spectra_.push_back(std::forward<MSSpectrum>(spectrum));
515 chromatograms_.push_back(std::forward<MSChromatogram>(chrom));
580 template<
typename ContainerValueType,
bool addMassTraces>
587 template<
typename ContainerValueType>
594 spectrum->insert(spectrum->end(),
PeakType());
595 spectrum->back().setIntensity(item->getIntensity());
596 spectrum->back().setPosition(item->getMZ());
601 addData_(spectrum, item);
602 for (StringList::const_iterator itm = store_metadata_names.begin(); itm != store_metadata_names.end(); ++itm)
604 float val = std::numeric_limits<float>::quiet_NaN();
605 if (item->metaValueExists(*itm)) val = item->getMetaValue(*itm);
611 template<
typename ContainerValueType>
617 if (item->metaValueExists(
"num_of_masstraces"))
619 Size mts = item->getMetaValue(
"num_of_masstraces");
620 int charge = (item->getCharge()==0 ? 1 : item->getCharge());
621 for (
Size i = 0; i < mts; ++i)
624 if (!item->metaValueExists(meta_name))
626 throw Exception::Precondition(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION,
String(
"Meta value '") + meta_name +
"' expected but not found in container.");
628 ContainerValueType p;
629 p.setIntensity(item->getMetaValue(meta_name));
A 1-dimensional raw data point or peak for chromatograms.
Definition: ChromatogramPeak.h:54
Precondition failed exception.
Definition: Exception.h:160
Description of the experimental settings.
Definition: ExperimentalSettings.h:62
Forward iterator for an area of peaks in an experiment.
Definition: AreaIterator.h:59
The representation of a chromatogram.
Definition: MSChromatogram.h:58
In-Memory representation of a mass spectrometry experiment.
Definition: MSExperiment.h:80
const std::vector< UInt > & getMSLevels() const
returns an array of MS levels
const ExperimentalSettings & getExperimentalSettings() const
returns the meta information of this experiment (const access)
MSExperiment(MSExperiment &&)=default
Move constructor.
RangeManager< 2 > RangeManagerType
RangeManager type.
Definition: MSExperiment.h:99
std::vector< SpectrumType > spectra_
spectra
Definition: MSExperiment.h:575
const std::vector< MSChromatogram > & getChromatograms() const
returns the chromatogram list
std::vector< SpectrumType > Base
STL base class type.
Definition: MSExperiment.h:105
Base::iterator iterator
Definition: MSExperiment.h:124
bool containsScanOfLevel(size_t ms_level) const
returns true if at least one of the spectra has the specified level
DRange< 2 > AreaType
Area type.
Definition: MSExperiment.h:93
PeakType::CoordinateType CoordinateType
Coordinate type of peak positions.
Definition: MSExperiment.h:95
void get2DData(Container &cont) const
Reads out a 2D Spectrum.
Definition: MSExperiment.h:215
void swap(MSExperiment &from)
Swaps the content of this map with the content of from.
MSChromatogram ChromatogramType
Chromatogram type.
Definition: MSExperiment.h:103
void addSpectrum(const MSSpectrum &spectrum)
adds a spectrum to the list
PeakType::IntensityType IntensityType
Intensity type of peaks.
Definition: MSExperiment.h:97
Iterator begin()
Definition: MSExperiment.h:157
void set2DData(const Container &container, const StringList &store_metadata_names)
Assignment of a data container with RT and MZ to an MSExperiment.
Definition: MSExperiment.h:266
std::vector< SpectrumType >::iterator Iterator
Mutable iterator.
Definition: MSExperiment.h:111
bool clearMetaDataArrays()
Clears the meta data arrays of all contained spectra (float, integer and string arrays)
SpectrumType * createSpec_(PeakType::CoordinateType rt)
ConstIterator RTBegin(CoordinateType rt) const
Fast search for spectrum range begin.
Size getNrSpectra() const
get the total number of spectra available
UInt64 getSize() const
returns the total number of peaks
MSExperiment & operator=(MSExperiment &&) &=default
Move assignment operator.
ConstIterator RTEnd(CoordinateType rt) const
Fast search for spectrum range end (returns the past-the-end iterator)
void addChromatogram(MSChromatogram &&chrom)
Definition: MSExperiment.h:513
ExperimentalSettings & getExperimentalSettings()
returns the meta information of this experiment (mutable access)
void reserveSpaceChromatograms(Size s)
SpectrumType * createSpec_(PeakType::CoordinateType rt, const StringList &metadata_names)
ChromatogramPeakT ChromatogramPeakType
Chromatogram peak type.
Definition: MSExperiment.h:91
MSSpectrum & getSpectrum(Size id)
returns a single spectrum
const AreaType & getDataRange() const
Returns RT and m/z range the data lies in.
CoordinateType getMinMZ() const
returns the minimal m/z value
Iterator RTEnd(CoordinateType rt)
Fast search for spectrum range end (returns the past-the-end iterator)
MSExperiment & operator=(const MSExperiment &source)
Assignment operator.
MSSpectrum SpectrumType
Spectrum Type.
Definition: MSExperiment.h:101
bool empty() const
Definition: MSExperiment.h:137
Size getNrChromatograms() const
get the total number of chromatograms available
ConstIterator end() const
Definition: MSExperiment.h:172
CoordinateType getMaxRT() const
returns the maximal retention time value
Base::value_type value_type
Definition: MSExperiment.h:123
MSExperiment()
Constructor.
bool operator!=(const MSExperiment &rhs) const
Equality operator.
CoordinateType getMaxMZ() const
returns the maximal m/z value
Peak1D PeakT
Definition: MSExperiment.h:83
ConstAreaIterator areaEndConst() const
Returns an non-mutable invalid area iterator marking the end of an area.
void set2DData(const Container &container)
Assignment of a data container with RT and MZ to an MSExperiment.
Definition: MSExperiment.h:246
void getPrimaryMSRunPath(StringList &toFill) const
get the file path to the first MS run
std::vector< UInt > ms_levels_
MS levels of the data.
Definition: MSExperiment.h:569
ConstAreaIterator areaBeginConst(CoordinateType min_rt, CoordinateType max_rt, CoordinateType min_mz, CoordinateType max_mz) const
Returns a non-mutable area iterator for area.
std::vector< MSChromatogram > & getChromatograms()
returns the chromatogram list (mutable)
void setSpectra(const std::vector< MSSpectrum > &spectra)
sets the spectrum list
void updateRanges(Int ms_level)
Updates the m/z, intensity, retention time and MS level ranges of all spectra with a certain ms level...
void sortChromatograms(bool sort_rt=true)
Sorts the data points of the chromatograms by m/z.
Iterator RTBegin(CoordinateType rt)
Fast search for spectrum range begin.
Internal::AreaIterator< const PeakT, const PeakT &, const PeakT *, ConstIterator, SpectrumType::ConstIterator > ConstAreaIterator
Immutable area iterator type (for traversal of a rectangular subset of the peaks)
Definition: MSExperiment.h:117
void setChromatograms(const std::vector< MSChromatogram > &chromatograms)
sets the chromatogram list
Internal::AreaIterator< PeakT, PeakT &, PeakT *, Iterator, SpectrumType::Iterator > AreaIterator
Mutable area iterator type (for traversal of a rectangular subset of the peaks)
Definition: MSExperiment.h:115
CoordinateType getMinRT() const
returns the minimal retention time value
const MSChromatogram calculateTIC(float rt_bin_size=0, UInt ms_level=1) const
Computes the total ion chromatogram (TIC) for a given MS level (use ms_level = 0 for all levels).
const std::vector< MSSpectrum > & getSpectra() const
returns the spectrum list
Iterator end()
Definition: MSExperiment.h:167
UInt64 total_size_
Number of all data points.
Definition: MSExperiment.h:571
bool isSorted(bool check_mz=true) const
Checks if all spectra are sorted with respect to ascending RT.
MSExperiment(const MSExperiment &source)
Copy constructor.
std::vector< MSSpectrum > & getSpectra()
returns the spectrum list (mutable)
void resize(Size s)
Definition: MSExperiment.h:132
void set2DData(const Container &container)
Assignment of a data container with RT and MZ to an MSExperiment.
Definition: MSExperiment.h:309
ChromatogramPeak ChromatogramPeakT
Definition: MSExperiment.h:84
void sortSpectra(bool sort_mz=true)
Sorts the data points by retention time.
Size size() const
Definition: MSExperiment.h:127
void reset()
Resets all internal values.
ConstIterator begin() const
Definition: MSExperiment.h:162
void addSpectrum(MSSpectrum &&spectrum)
Definition: MSExperiment.h:496
void reserveSpaceSpectra(Size s)
bool hasZeroIntensities(size_t ms_level) const
returns true if any MS spectra of the specified level contain at least one peak with intensity of 0....
bool operator==(const MSExperiment &rhs) const
Equality operator.
ConstIterator getPrecursorSpectrum(ConstIterator iterator) const
Returns the precursor spectrum of the scan pointed to by iterator.
Base::const_iterator const_iterator
Definition: MSExperiment.h:125
void updateRanges() override
Updates minimum and maximum position/intensity.
void setSqlRunID(UInt64 id)
sets the run-ID which is used when storing an sqMass file
MSExperiment & operator=(const ExperimentalSettings &source)
Assignment operator.
UInt64 getSqlRunID() const
void addChromatogram(const MSChromatogram &chromatogram)
adds a chromatogram to the list
std::vector< SpectrumType >::const_iterator ConstIterator
Non-mutable iterator.
Definition: MSExperiment.h:113
bool hasPeptideIdentifications() const
do any of the spectra have a PeptideID?
void clear(bool clear_meta_data)
Clears all data and meta data.
void reserve(Size s)
Definition: MSExperiment.h:142
std::vector< MSChromatogram > chromatograms_
chromatograms
Definition: MSExperiment.h:573
AreaIterator areaEnd()
Returns an invalid area iterator marking the end of an area.
The representation of a 1D spectrum.
Definition: MSSpectrum.h:71
const FloatDataArrays & getFloatDataArrays() const
Returns a const reference to the float meta data arrays.
A 1-dimensional raw data point or peak.
Definition: Peak1D.h:54
float IntensityType
Intensity type.
Definition: Peak1D.h:62
double CoordinateType
Coordinate type.
Definition: Peak1D.h:66
Handles the management of a position and intensity range.
Definition: RangeManager.h:48
A more convenient string class.
Definition: String.h:61
OPENMS_UINT64_TYPE UInt64
Unsigned integer type (64bit)
Definition: Types.h:77
int Int
Signed integer type.
Definition: Types.h:102
unsigned int UInt
Unsigned integer type.
Definition: Types.h:94
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
std::vector< String > StringList
Vector of String.
Definition: ListUtils.h:70
const double C13C12_MASSDIFF_U
Definition: Constants.h:121
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:47
Peak2D PeakType
Definition: MassTrace.h:47
std::ostream & operator<<(std::ostream &os, const AccurateMassSearchResult &amsr)
static void addData_(SpectrumType *spectrum, const ContainerValueType *item)
general method for adding data points
Definition: MSExperiment.h:591
static void addData_(SpectrumType *spectrum, const ContainerValueType *item, const StringList &store_metadata_names)
general method for adding data points, including metadata arrays (populated from metainfointerface)
Definition: MSExperiment.h:599
static void addData_(SpectrumType *spectrum, const ContainerValueType *item)
specialization for adding feature mass traces (does not support metadata_names currently)
Definition: MSExperiment.h:615
Helper class to add either general data points in set2DData or use mass traces from meta values.
Definition: MSExperiment.h:582
static void addData_(SpectrumType *spectrum, const ContainerValueType *item)
static void addData_(SpectrumType *spectrum, const ContainerValueType *item, const StringList &store_metadata_names)