OpenMS
Loading...
Searching...
No Matches
Instrument.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 $
7// --------------------------------------------------------------------------
8
9#pragma once
10
18
19#include <vector>
20
21namespace OpenMS
22{
38 class OPENMS_DLLAPI Instrument :
40 {
41
42public:
43
61
63 static const std::string NamesOfIonOpticsType[SIZE_OF_IONOPTICSTYPE];
64
67
71 Instrument(const Instrument &) = default;
73 Instrument(Instrument&&) = default;
76
78 Instrument & operator=(const Instrument &) = default;
81
83 bool operator==(const Instrument & rhs) const;
85 bool operator!=(const Instrument & rhs) const;
86
88 const String & getName() const;
90 void setName(const String & name);
91
93 const String & getVendor() const;
95 void setVendor(const String & vendor);
96
98 const String & getModel() const;
100 void setModel(const String & model);
101
103 const String & getCustomizations() const;
105 void setCustomizations(const String & customizations);
106
108 const std::vector<IonSource> & getIonSources() const;
110 std::vector<IonSource> & getIonSources();
112 void setIonSources(const std::vector<IonSource> & ion_sources);
113
115 const std::vector<MassAnalyzer> & getMassAnalyzers() const;
117 std::vector<MassAnalyzer> & getMassAnalyzers();
119 void setMassAnalyzers(const std::vector<MassAnalyzer> & mass_analyzers);
120
122 const std::vector<IonDetector> & getIonDetectors() const;
124 std::vector<IonDetector> & getIonDetectors();
126 void setIonDetectors(const std::vector<IonDetector> & ion_detectors);
127
129 const Software & getSoftware() const;
133 void setSoftware(const Software & software);
134
138 void setIonOptics(IonOpticsType ion_optics);
139
140protected:
141
146 std::vector<IonSource> ion_sources_;
147 std::vector<MassAnalyzer> mass_analyzers_;
148 std::vector<IonDetector> ion_detectors_;
151 };
152} // namespace OpenMS
153
Description of a MS instrument.
Definition Instrument.h:40
const String & getVendor() const
returns the instrument vendor
String model_
Definition Instrument.h:144
const std::vector< IonSource > & getIonSources() const
returns a const reference to the ion source list
~Instrument()
Destructor.
Software software_
Definition Instrument.h:149
std::vector< IonDetector > & getIonDetectors()
returns a mutable reference to the ion detector list
bool operator==(const Instrument &rhs) const
Equality operator.
Instrument & operator=(const Instrument &)=default
Assignment operator.
String name_
Definition Instrument.h:142
const std::vector< MassAnalyzer > & getMassAnalyzers() const
returns a const reference to the mass analyzer list
void setIonSources(const std::vector< IonSource > &ion_sources)
sets the ion source list
std::vector< MassAnalyzer > mass_analyzers_
Definition Instrument.h:147
void setMassAnalyzers(const std::vector< MassAnalyzer > &mass_analyzers)
sets the mass analyzer list
String vendor_
Definition Instrument.h:143
void setName(const String &name)
sets the name of the instrument
const String & getCustomizations() const
returns a description of customizations
void setIonOptics(IonOpticsType ion_optics)
sets the ion optics type
void setCustomizations(const String &customizations)
sets a description of customizations
std::vector< IonSource > ion_sources_
Definition Instrument.h:146
static StringList getAllNamesOfIonOpticsType()
returns all ion optics type names known to OpenMS
const String & getModel() const
returns the instrument model
void setSoftware(const Software &software)
sets the instrument software
const std::vector< IonDetector > & getIonDetectors() const
returns a const reference to the ion detector list
const String & getName() const
returns the name of the instrument
IonOpticsType ion_optics_
Definition Instrument.h:150
Instrument & operator=(Instrument &&) &=default
Move assignment operator.
bool operator!=(const Instrument &rhs) const
Equality operator.
void setModel(const String &model)
sets the instrument model
void setIonDetectors(const std::vector< IonDetector > &ion_detectors)
sets the ion detector list
const Software & getSoftware() const
returns a const reference to the instrument software
Instrument(const Instrument &)=default
Copy constructor.
std::vector< IonSource > & getIonSources()
returns a mutable reference to the ion source list
IonOpticsType
ion optics type
Definition Instrument.h:46
@ REFLECTRON
reflectron
Definition Instrument.h:53
@ FIRST_STABILITY_REGION
first stability region
Definition Instrument.h:55
@ STATIC_FIELD
static field
Definition Instrument.h:58
@ KINETIC_ENERGY_ANALYZER
kinetic energy analyzer
Definition Instrument.h:57
@ TIME_LAG_FOCUSING
time lag focusing
Definition Instrument.h:52
@ COLLISION_QUADRUPOLE
collision quadrupole
Definition Instrument.h:50
@ UNKNOWN
unknown
Definition Instrument.h:47
@ MAGNETIC_DEFLECTION
magnetic deflection
Definition Instrument.h:48
@ FRINGING_FIELD
fringing field
Definition Instrument.h:56
@ DELAYED_EXTRACTION
delayed extraction
Definition Instrument.h:49
@ SELECTED_ION_FLOW_TUBE
selected ion flow tube
Definition Instrument.h:51
@ EINZEL_LENS
einzel lens
Definition Instrument.h:54
void setVendor(const String &vendor)
sets the instrument vendor
IonOpticsType getIonOptics() const
returns the ion optics type
Instrument(Instrument &&)=default
Move constructor.
std::vector< MassAnalyzer > & getMassAnalyzers()
returns a mutable reference to the mass analyzer list
Software & getSoftware()
returns a mutable reference to the instrument software
Instrument()
Constructor.
std::vector< IonDetector > ion_detectors_
Definition Instrument.h:148
String customizations_
Definition Instrument.h:145
Interface for classes that can store arbitrary meta information (Type-Name-Value tuples).
Definition MetaInfoInterface.h:36
Description of the software used for processing.
Definition Software.h:26
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