OpenMS
SpectrumSettings.h
Go to the documentation of this file.
1 // Copyright (c) 2002-present, OpenMS Inc. -- EKU Tuebingen, ETH Zurich, and FU Berlin
2 // SPDX-License-Identifier: BSD-3-Clause
3 //
4 // --------------------------------------------------------------------------
5 // $Maintainer: Timo Sachsenberg $
6 // $Authors: Marc Sturm, Timo Sachsenberg $
7 // --------------------------------------------------------------------------
8 
9 #pragma once
10 
21 
22 #include <map>
23 #include <vector>
24 
25 namespace OpenMS
26 {
39  class OPENMS_DLLAPI SpectrumSettings :
40  public MetaInfoInterface
41  {
42 
43 public:
44 
47  {
51  SIZE_OF_SPECTRUMTYPE
52  };
54  static const std::string NamesOfSpectrumType[SIZE_OF_SPECTRUMTYPE];
55 
58 
60  SpectrumSettings() = default;
62  SpectrumSettings(const SpectrumSettings &) = default;
64  SpectrumSettings(SpectrumSettings&&) noexcept = default;
66  ~SpectrumSettings() noexcept = default;
67 
68  // Assignment operator
69  SpectrumSettings & operator=(const SpectrumSettings &) = default;
71  SpectrumSettings& operator=(SpectrumSettings&&) & = default;
72 
74  bool operator==(const SpectrumSettings & rhs) const;
76  bool operator!=(const SpectrumSettings & rhs) const;
77 
79  void unify(const SpectrumSettings & rhs);
80 
82  SpectrumType getType() const;
84  void setType(SpectrumType type);
85 
88  void setIMFormat(const IMFormat& im_type);
89 
94  IMFormat getIMFormat() const;
95 
97  const String & getNativeID() const;
99  void setNativeID(const String & native_id);
100 
102  const String & getComment() const;
104  void setComment(const String & comment);
105 
107  const InstrumentSettings & getInstrumentSettings() const;
109  InstrumentSettings & getInstrumentSettings();
111  void setInstrumentSettings(const InstrumentSettings & instrument_settings);
112 
114  const AcquisitionInfo & getAcquisitionInfo() const;
116  AcquisitionInfo & getAcquisitionInfo();
118  void setAcquisitionInfo(const AcquisitionInfo & acquisition_info);
119 
121  const SourceFile & getSourceFile() const;
123  SourceFile & getSourceFile();
125  void setSourceFile(const SourceFile & source_file);
126 
128  const std::vector<Precursor> & getPrecursors() const;
130  std::vector<Precursor> & getPrecursors();
132  void setPrecursors(const std::vector<Precursor> & precursors);
133 
135  const std::vector<Product> & getProducts() const;
137  std::vector<Product> & getProducts();
139  void setProducts(const std::vector<Product> & products);
140 
142  void setDataProcessing(const std::vector< DataProcessingPtr > & data_processing);
143 
145  std::vector< DataProcessingPtr > & getDataProcessing();
146 
148  const std::vector< std::shared_ptr<const DataProcessing > > getDataProcessing() const;
149 
150 protected:
151 
152  SpectrumType type_ = UNKNOWN;
153  IMFormat im_type_ = IMFormat::UNKNOWN;
154  String native_id_;
155  String comment_;
156  InstrumentSettings instrument_settings_;
157  SourceFile source_file_;
158  AcquisitionInfo acquisition_info_;
159  std::vector<Precursor> precursors_;
160  std::vector<Product> products_;
161  std::vector< DataProcessingPtr > data_processing_;
162  };
163 
165  OPENMS_DLLAPI std::ostream & operator<<(std::ostream & os, const SpectrumSettings & spec);
166 
167 } // namespace OpenMS
168 
Description of the combination of raw data to a single spectrum.
Definition: AcquisitionInfo.h:29
Description of the applied preprocessing steps.
Definition: DataProcessing.h:28
Description of the settings a MS Instrument was run with.
Definition: InstrumentSettings.h:24
Interface for classes that can store arbitrary meta information (Type-Name-Value tuples).
Definition: MetaInfoInterface.h:35
Precursor meta information.
Definition: Precursor.h:35
Product meta information.
Definition: Product.h:24
Description of a file location, used to store the origin of (meta) data.
Definition: SourceFile.h:23
Representation of 1D spectrum settings.
Definition: SpectrumSettings.h:41
SpectrumSettings()=default
Constructor.
SpectrumSettings(SpectrumSettings &&) noexcept=default
Move constructor.
SpectrumSettings(const SpectrumSettings &)=default
Copy constructor.
SpectrumType
Spectrum peak type.
Definition: SpectrumSettings.h:47
@ UNKNOWN
Unknown spectrum type.
Definition: SpectrumSettings.h:48
@ PROFILE
profile data
Definition: SpectrumSettings.h:50
@ CENTROID
centroid data or stick data
Definition: SpectrumSettings.h:49
static StringList getAllNamesOfSpectrumType()
returns all spectrum type names known to OpenMS
A more convenient string class.
Definition: String.h:34
std::vector< String > StringList
Vector of String.
Definition: ListUtils.h:44
Main OpenMS namespace.
Definition: openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
IMFormat
Definition: IMTypes.h:48
std::shared_ptr< DataProcessing > DataProcessingPtr
Definition: DataProcessing.h:115