OpenMS
MassAnalyzer.h
Go to the documentation of this file.
1 // Copyright (c) 2002-2023, The OpenMS Team -- 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>
13 
14 namespace OpenMS
15 {
21  class OPENMS_DLLAPI MassAnalyzer :
22  public MetaInfoInterface
23  {
24 public:
27  {
33  TOF,
37  ESA,
38  IT,
42  LIT,
43  SIZE_OF_ANALYZERTYPE
44  };
46  static const std::string NamesOfAnalyzerType[SIZE_OF_ANALYZERTYPE];
47 
54  {
56  FWHM,
59  SIZE_OF_RESOLUTIONMETHOD
60  };
62  static const std::string NamesOfResolutionMethod[SIZE_OF_RESOLUTIONMETHOD];
63 
66  {
70  SIZE_OF_RESOLUTIONTYPE
71  };
73  static const std::string NamesOfResolutionType[SIZE_OF_RESOLUTIONTYPE];
74 
77  {
79  UP,
80  DOWN,
81  SIZE_OF_SCANDIRECTION
82  };
84  static const std::string NamesOfScanDirection[SIZE_OF_SCANDIRECTION];
85 
87  enum ScanLaw
88  {
93  SIZE_OF_SCANLAW
94  };
96  static const std::string NamesOfScanLaw[SIZE_OF_SCANLAW];
97 
100  {
102  ON,
103  OFF,
105  SIZE_OF_REFLECTRONSTATE
106  };
108  static const std::string NamesOfReflectronState[SIZE_OF_REFLECTRONSTATE];
109 
113  MassAnalyzer(const MassAnalyzer &) = default;
118 
120  MassAnalyzer & operator=(const MassAnalyzer&) = default;
123 
125  bool operator==(const MassAnalyzer & rhs) const;
127  bool operator!=(const MassAnalyzer & rhs) const;
128 
132  void setType(AnalyzerType type);
133 
137  void setResolutionMethod(ResolutionMethod resolution_method);
138 
142  void setResolutionType(ResolutionType resolution_type);
143 
147  void setScanDirection(ScanDirection scan_direction);
148 
152  void setScanLaw(ScanLaw scan_law);
153 
157  void setReflectronState(ReflectronState reflecton_state);
158 
164  double getResolution() const;
166  void setResolution(double resolution);
167 
169  double getAccuracy() const;
171  void setAccuracy(double accuracy);
172 
174  double getScanRate() const;
176  void setScanRate(double scan_rate);
177 
179  double getScanTime() const;
181  void setScanTime(double scan_time);
182 
184  double getTOFTotalPathLength() const;
186  void setTOFTotalPathLength(double TOF_total_path_length);
187 
189  double getIsolationWidth() const;
191  void setIsolationWidth(double isolation_width);
192 
196  void setFinalMSExponent(Int final_MS_exponent);
197 
199  double getMagneticFieldStrength() const;
201  void setMagneticFieldStrength(double magnetic_field_strength);
202 
213  Int getOrder() const;
215  void setOrder(Int order);
216 
217 protected:
224  double resolution_;
225  double accuracy_;
226  double scan_rate_;
227  double scan_time_;
233  };
234 } // namespace OpenMS
235 
Description of a mass analyzer (part of a MS Instrument)
Definition: MassAnalyzer.h:23
void setReflectronState(ReflectronState reflecton_state)
sets the reflectron state (for TOF)
double accuracy_
Definition: MassAnalyzer.h:225
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:54
@ TENPERCENTVALLEY
Ten percent valley.
Definition: MassAnalyzer.h:57
@ RESMETHNULL
Unknown.
Definition: MassAnalyzer.h:55
@ BASELINE
Baseline.
Definition: MassAnalyzer.h:58
@ FWHM
Full width at half max.
Definition: MassAnalyzer.h:56
AnalyzerType
analyzer type
Definition: MassAnalyzer.h:27
@ PAULIONTRAP
Quadrupole ion trap / Paul ion trap.
Definition: MassAnalyzer.h:30
@ SWIFT
Stored waveform inverse fourier transform.
Definition: MassAnalyzer.h:39
@ FOURIERTRANSFORM
Fourier transform ion cyclotron resonance mass spectrometer.
Definition: MassAnalyzer.h:35
@ ANALYZERNULL
Unknown.
Definition: MassAnalyzer.h:28
@ LIT
Linear ion trap.
Definition: MassAnalyzer.h:42
@ RADIALEJECTIONLINEARIONTRAP
Radial ejection linear ion trap.
Definition: MassAnalyzer.h:31
@ IONSTORAGE
Ion storage.
Definition: MassAnalyzer.h:36
@ ORBITRAP
Orbitrap.
Definition: MassAnalyzer.h:41
@ SECTOR
Magnetic sector.
Definition: MassAnalyzer.h:34
@ ESA
Electrostatic energy analyzer.
Definition: MassAnalyzer.h:37
@ TOF
Time-of-flight.
Definition: MassAnalyzer.h:33
@ CYCLOTRON
Cyclotron.
Definition: MassAnalyzer.h:40
@ AXIALEJECTIONLINEARIONTRAP
Axial ejection linear ion trap.
Definition: MassAnalyzer.h:32
@ QUADRUPOLE
Quadrupole.
Definition: MassAnalyzer.h:29
@ IT
Ion trap.
Definition: MassAnalyzer.h:38
ReflectronState reflectron_state_
Definition: MassAnalyzer.h:223
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
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:66
@ CONSTANT
Constant.
Definition: MassAnalyzer.h:68
@ RESTYPENULL
Unknown.
Definition: MassAnalyzer.h:67
@ PROPORTIONAL
Proportional.
Definition: MassAnalyzer.h:69
MassAnalyzer & operator=(const MassAnalyzer &)=default
Assignment operator.
double isolation_width_
Definition: MassAnalyzer.h:229
AnalyzerType type_
Definition: MassAnalyzer.h:218
void setScanTime(double scan_time)
sets the scan time for a single scan (in s)
ReflectronState getReflectronState() const
returns the reflectron state (for TOF)
ResolutionMethod resolution_method_
Definition: MassAnalyzer.h:219
ReflectronState
Reflectron state.
Definition: MassAnalyzer.h:100
@ REFLSTATENULL
Unknown.
Definition: MassAnalyzer.h:101
@ ON
On.
Definition: MassAnalyzer.h:102
@ OFF
Off.
Definition: MassAnalyzer.h:103
@ NONE
None.
Definition: MassAnalyzer.h:104
void setFinalMSExponent(Int final_MS_exponent)
sets the final MS exponent
double scan_rate_
Definition: MassAnalyzer.h:226
void setOrder(Int order)
sets the order
double resolution_
Definition: MassAnalyzer.h:224
void setResolutionType(ResolutionType resolution_type)
sets the resolution type
Int getFinalMSExponent() const
returns the final MS exponent
Int order_
Definition: MassAnalyzer.h:232
double scan_time_
Definition: MassAnalyzer.h:227
ScanLaw
Scan law.
Definition: MassAnalyzer.h:88
@ QUADRATIC
Quadratic.
Definition: MassAnalyzer.h:92
@ SCANLAWNULL
Unknown.
Definition: MassAnalyzer.h:89
@ EXPONENTIAL
Unknown.
Definition: MassAnalyzer.h:90
@ LINEAR
Linear.
Definition: MassAnalyzer.h:91
MassAnalyzer(const MassAnalyzer &)=default
Copy constructor.
double TOF_total_path_length_
Definition: MassAnalyzer.h:228
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)
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:221
bool operator==(const MassAnalyzer &rhs) const
Equality operator.
Int final_MS_exponent_
Definition: MassAnalyzer.h:230
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:220
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:222
ScanDirection
direction of scanning
Definition: MassAnalyzer.h:77
@ DOWN
Down.
Definition: MassAnalyzer.h:80
@ UP
Up.
Definition: MassAnalyzer.h:79
@ SCANDIRNULL
Unknown.
Definition: MassAnalyzer.h:78
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...
double magnetic_field_strength_
Definition: MassAnalyzer.h:231
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:76
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:22