OpenMS
MassAnalyzer.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 
11 #include <OpenMS/CONCEPT/Types.h>
14 
15 namespace OpenMS
16 {
22  class OPENMS_DLLAPI MassAnalyzer :
23  public MetaInfoInterface
24  {
25 public:
28  {
34  TOF,
38  ESA,
39  IT,
43  LIT,
44  SIZE_OF_ANALYZERTYPE
45  };
47  static const std::string NamesOfAnalyzerType[SIZE_OF_ANALYZERTYPE];
48 
55  {
57  FWHM,
60  SIZE_OF_RESOLUTIONMETHOD
61  };
63  static const std::string NamesOfResolutionMethod[SIZE_OF_RESOLUTIONMETHOD];
64 
67  {
71  SIZE_OF_RESOLUTIONTYPE
72  };
74  static const std::string NamesOfResolutionType[SIZE_OF_RESOLUTIONTYPE];
75 
78  {
80  UP,
81  DOWN,
82  SIZE_OF_SCANDIRECTION
83  };
85  static const std::string NamesOfScanDirection[SIZE_OF_SCANDIRECTION];
86 
88  enum ScanLaw
89  {
94  SIZE_OF_SCANLAW
95  };
97  static const std::string NamesOfScanLaw[SIZE_OF_SCANLAW];
98 
101  {
103  ON,
104  OFF,
106  SIZE_OF_REFLECTRONSTATE
107  };
109  static const std::string NamesOfReflectronState[SIZE_OF_REFLECTRONSTATE];
110 
123 
127  MassAnalyzer(const MassAnalyzer &) = default;
132 
134  MassAnalyzer & operator=(const MassAnalyzer&) = default;
137 
139  bool operator==(const MassAnalyzer & rhs) const;
141  bool operator!=(const MassAnalyzer & rhs) const;
142 
146  void setType(AnalyzerType type);
147 
151  void setResolutionMethod(ResolutionMethod resolution_method);
152 
156  void setResolutionType(ResolutionType resolution_type);
157 
161  void setScanDirection(ScanDirection scan_direction);
162 
166  void setScanLaw(ScanLaw scan_law);
167 
171  void setReflectronState(ReflectronState reflecton_state);
172 
178  double getResolution() const;
180  void setResolution(double resolution);
181 
183  double getAccuracy() const;
185  void setAccuracy(double accuracy);
186 
188  double getScanRate() const;
190  void setScanRate(double scan_rate);
191 
193  double getScanTime() const;
195  void setScanTime(double scan_time);
196 
198  double getTOFTotalPathLength() const;
200  void setTOFTotalPathLength(double TOF_total_path_length);
201 
203  double getIsolationWidth() const;
205  void setIsolationWidth(double isolation_width);
206 
210  void setFinalMSExponent(Int final_MS_exponent);
211 
213  double getMagneticFieldStrength() const;
215  void setMagneticFieldStrength(double magnetic_field_strength);
216 
227  Int getOrder() const;
229  void setOrder(Int order);
230 
231 protected:
238  double resolution_;
239  double accuracy_;
240  double scan_rate_;
241  double scan_time_;
247  };
248 } // namespace OpenMS
249 
Description of a mass analyzer (part of a MS Instrument)
Definition: MassAnalyzer.h:24
void setReflectronState(ReflectronState reflecton_state)
sets the reflectron state (for TOF)
double accuracy_
Definition: MassAnalyzer.h:239
double getIsolationWidth() const
returns the isolation width i.e. in which m/z range the precursor ion is selected for MS to the n (in...
ResolutionMethod
resolution method
Definition: MassAnalyzer.h:55
@ TENPERCENTVALLEY
Ten percent valley.
Definition: MassAnalyzer.h:58
@ RESMETHNULL
Unknown.
Definition: MassAnalyzer.h:56
@ BASELINE
Baseline.
Definition: MassAnalyzer.h:59
@ FWHM
Full width at half max.
Definition: MassAnalyzer.h:57
AnalyzerType
analyzer type
Definition: MassAnalyzer.h:28
@ PAULIONTRAP
Quadrupole ion trap / Paul ion trap.
Definition: MassAnalyzer.h:31
@ SWIFT
Stored waveform inverse fourier transform.
Definition: MassAnalyzer.h:40
@ FOURIERTRANSFORM
Fourier transform ion cyclotron resonance mass spectrometer.
Definition: MassAnalyzer.h:36
@ ANALYZERNULL
Unknown.
Definition: MassAnalyzer.h:29
@ LIT
Linear ion trap.
Definition: MassAnalyzer.h:43
@ RADIALEJECTIONLINEARIONTRAP
Radial ejection linear ion trap.
Definition: MassAnalyzer.h:32
@ IONSTORAGE
Ion storage.
Definition: MassAnalyzer.h:37
@ ORBITRAP
Orbitrap.
Definition: MassAnalyzer.h:42
@ SECTOR
Magnetic sector.
Definition: MassAnalyzer.h:35
@ ESA
Electrostatic energy analyzer.
Definition: MassAnalyzer.h:38
@ TOF
Time-of-flight.
Definition: MassAnalyzer.h:34
@ CYCLOTRON
Cyclotron.
Definition: MassAnalyzer.h:41
@ AXIALEJECTIONLINEARIONTRAP
Axial ejection linear ion trap.
Definition: MassAnalyzer.h:33
@ QUADRUPOLE
Quadrupole.
Definition: MassAnalyzer.h:30
@ IT
Ion trap.
Definition: MassAnalyzer.h:39
ReflectronState reflectron_state_
Definition: MassAnalyzer.h:237
ScanDirection getScanDirection() const
returns the direction of scanning
Int getOrder() const
returns the position of this part in the whole Instrument.
double getResolution() const
returns the resolution
void setResolutionMethod(ResolutionMethod resolution_method)
sets the method used for determination of the resolution
static StringList getAllNamesOfReflectronState()
returns all reflectron state names known to OpenMS
void setTOFTotalPathLength(double TOF_total_path_length)
sets the path length for a TOF mass analyzer (in meter)
void setIsolationWidth(double isolation_width)
sets the isolation width i.e. in which m/z range the precursor ion is selected for MS to the n (in m/...
AnalyzerType getType() const
returns the analyzer type
void setResolution(double resolution)
sets the resolution
ResolutionType
Resolution type.
Definition: MassAnalyzer.h:67
@ CONSTANT
Constant.
Definition: MassAnalyzer.h:69
@ RESTYPENULL
Unknown.
Definition: MassAnalyzer.h:68
@ PROPORTIONAL
Proportional.
Definition: MassAnalyzer.h:70
MassAnalyzer & operator=(const MassAnalyzer &)=default
Assignment operator.
double isolation_width_
Definition: MassAnalyzer.h:243
AnalyzerType type_
Definition: MassAnalyzer.h:232
void setScanTime(double scan_time)
sets the scan time for a single scan (in s)
ReflectronState getReflectronState() const
returns the reflectron state (for TOF)
static StringList getAllNamesOfScanDirection()
returns all scan direction names known to OpenMS
static StringList getAllNamesOfScanLaw()
returns all scan law names known to OpenMS
ResolutionMethod resolution_method_
Definition: MassAnalyzer.h:233
ReflectronState
Reflectron state.
Definition: MassAnalyzer.h:101
@ REFLSTATENULL
Unknown.
Definition: MassAnalyzer.h:102
@ ON
On.
Definition: MassAnalyzer.h:103
@ OFF
Off.
Definition: MassAnalyzer.h:104
@ NONE
None.
Definition: MassAnalyzer.h:105
void setFinalMSExponent(Int final_MS_exponent)
sets the final MS exponent
double scan_rate_
Definition: MassAnalyzer.h:240
void setOrder(Int order)
sets the order
double resolution_
Definition: MassAnalyzer.h:238
void setResolutionType(ResolutionType resolution_type)
sets the resolution type
Int getFinalMSExponent() const
returns the final MS exponent
Int order_
Definition: MassAnalyzer.h:246
double scan_time_
Definition: MassAnalyzer.h:241
ScanLaw
Scan law.
Definition: MassAnalyzer.h:89
@ QUADRATIC
Quadratic.
Definition: MassAnalyzer.h:93
@ SCANLAWNULL
Unknown.
Definition: MassAnalyzer.h:90
@ EXPONENTIAL
Unknown.
Definition: MassAnalyzer.h:91
@ LINEAR
Linear.
Definition: MassAnalyzer.h:92
MassAnalyzer(const MassAnalyzer &)=default
Copy constructor.
static StringList getAllNamesOfAnalyzerType()
returns all analyzer type names known to OpenMS
double TOF_total_path_length_
Definition: MassAnalyzer.h:242
void setAccuracy(double accuracy)
sets the accuracy i.e. how much the theoretical mass may differ from the measured mass (in ppm)
double getTOFTotalPathLength() const
returns the path length for a TOF mass analyzer (in meter)
static StringList getAllNamesOfResolutionMethod()
returns all resolution method names known to OpenMS
ScanLaw getScanLaw() const
returns the scan law
MassAnalyzer & operator=(MassAnalyzer &&) &=default
Move assignment operator.
double getScanRate() const
returns the scan rate (in s)
ScanDirection scan_direction_
Definition: MassAnalyzer.h:235
bool operator==(const MassAnalyzer &rhs) const
Equality operator.
Int final_MS_exponent_
Definition: MassAnalyzer.h:244
MassAnalyzer(MassAnalyzer &&)=default
Move constructor.
bool operator!=(const MassAnalyzer &rhs) const
Equality operator.
double getScanTime() const
returns the scan time for a single scan (in s)
void setScanLaw(ScanLaw scan_law)
sets the scan law
MassAnalyzer()
Constructor.
ResolutionType getResolutionType() const
returns the resolution type
double getMagneticFieldStrength() const
returns the strength of the magnetic field (in T)
ResolutionType resolution_type_
Definition: MassAnalyzer.h:234
void setScanRate(double scan_rate)
sets the scan rate (in s)
ResolutionMethod getResolutionMethod() const
returns the method used for determination of the resolution
~MassAnalyzer()
Destructor.
void setMagneticFieldStrength(double magnetic_field_strength)
sets the strength of the magnetic field (in T)
void setType(AnalyzerType type)
sets the analyzer type
ScanLaw scan_law_
Definition: MassAnalyzer.h:236
ScanDirection
direction of scanning
Definition: MassAnalyzer.h:78
@ DOWN
Down.
Definition: MassAnalyzer.h:81
@ UP
Up.
Definition: MassAnalyzer.h:80
@ SCANDIRNULL
Unknown.
Definition: MassAnalyzer.h:79
void setScanDirection(ScanDirection scan_direction)
sets the direction of scanning
double getAccuracy() const
returns the mass accuracy i.e. how much the theoretical mass may differ from the measured mass (in pp...
static StringList getAllNamesOfResolutionType()
returns all resolution type names known to OpenMS
double magnetic_field_strength_
Definition: MassAnalyzer.h:245
Interface for classes that can store arbitrary meta information (Type-Name-Value tuples).
Definition: MetaInfoInterface.h:35
int Int
Signed integer type.
Definition: Types.h:72
std::vector< String > StringList
Vector of String.
Definition: ListUtils.h:44
Main OpenMS namespace.
Definition: openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19