Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #ifndef OPENMS_METADATA_MASSANALYZER_H
00036 #define OPENMS_METADATA_MASSANALYZER_H
00037
00038 #include <OpenMS/CONCEPT/Types.h>
00039 #include <OpenMS/METADATA/MetaInfoInterface.h>
00040
00041 namespace OpenMS
00042 {
00048 class OPENMS_DLLAPI MassAnalyzer :
00049 public MetaInfoInterface
00050 {
00051 public:
00053 enum AnalyzerType
00054 {
00055 ANALYZERNULL,
00056 QUADRUPOLE,
00057 PAULIONTRAP,
00058 RADIALEJECTIONLINEARIONTRAP,
00059 AXIALEJECTIONLINEARIONTRAP,
00060 TOF,
00061 SECTOR,
00062 FOURIERTRANSFORM,
00063 IONSTORAGE,
00064 ESA,
00065 IT,
00066 SWIFT,
00067 CYCLOTRON,
00068 ORBITRAP,
00069 LIT,
00070 SIZE_OF_ANALYZERTYPE
00071 };
00073 static const std::string NamesOfAnalyzerType[SIZE_OF_ANALYZERTYPE];
00074
00080 enum ResolutionMethod
00081 {
00082 RESMETHNULL,
00083 FWHM,
00084 TENPERCENTVALLEY,
00085 BASELINE,
00086 SIZE_OF_RESOLUTIONMETHOD
00087 };
00089 static const std::string NamesOfResolutionMethod[SIZE_OF_RESOLUTIONMETHOD];
00090
00092 enum ResolutionType
00093 {
00094 RESTYPENULL,
00095 CONSTANT,
00096 PROPORTIONAL,
00097 SIZE_OF_RESOLUTIONTYPE
00098 };
00100 static const std::string NamesOfResolutionType[SIZE_OF_RESOLUTIONTYPE];
00101
00103 enum ScanDirection
00104 {
00105 SCANDIRNULL,
00106 UP,
00107 DOWN,
00108 SIZE_OF_SCANDIRECTION
00109 };
00111 static const std::string NamesOfScanDirection[SIZE_OF_SCANDIRECTION];
00112
00114 enum ScanLaw
00115 {
00116 SCANLAWNULL,
00117 EXPONENTIAL,
00118 LINEAR,
00119 QUADRATIC,
00120 SIZE_OF_SCANLAW
00121 };
00123 static const std::string NamesOfScanLaw[SIZE_OF_SCANLAW];
00124
00126 enum ReflectronState
00127 {
00128 REFLSTATENULL,
00129 ON,
00130 OFF,
00131 NONE,
00132 SIZE_OF_REFLECTRONSTATE
00133 };
00135 static const std::string NamesOfReflectronState[SIZE_OF_REFLECTRONSTATE];
00136
00138 MassAnalyzer();
00140 MassAnalyzer(const MassAnalyzer & source);
00142 ~MassAnalyzer();
00143
00145 MassAnalyzer & operator=(const MassAnalyzer & source);
00146
00148 bool operator==(const MassAnalyzer & rhs) const;
00150 bool operator!=(const MassAnalyzer & rhs) const;
00151
00153 AnalyzerType getType() const;
00155 void setType(AnalyzerType type);
00156
00158 ResolutionMethod getResolutionMethod() const;
00160 void setResolutionMethod(ResolutionMethod resolution_method);
00161
00163 ResolutionType getResolutionType() const;
00165 void setResolutionType(ResolutionType resolution_type);
00166
00168 ScanDirection getScanDirection() const;
00170 void setScanDirection(ScanDirection scan_direction);
00171
00173 ScanLaw getScanLaw() const;
00175 void setScanLaw(ScanLaw scan_law);
00176
00178 ReflectronState getReflectronState() const;
00180 void setReflectronState(ReflectronState reflecton_state);
00181
00187 DoubleReal getResolution() const;
00189 void setResolution(DoubleReal resolution);
00190
00192 DoubleReal getAccuracy() const;
00194 void setAccuracy(DoubleReal accuracy);
00195
00197 DoubleReal getScanRate() const;
00199 void setScanRate(DoubleReal scan_rate);
00200
00202 DoubleReal getScanTime() const;
00204 void setScanTime(DoubleReal scan_time);
00205
00207 DoubleReal getTOFTotalPathLength() const;
00209 void setTOFTotalPathLength(DoubleReal TOF_total_path_length);
00210
00212 DoubleReal getIsolationWidth() const;
00214 void setIsolationWidth(DoubleReal isolation_width);
00215
00217 Int getFinalMSExponent() const;
00219 void setFinalMSExponent(Int final_MS_exponent);
00220
00222 DoubleReal getMagneticFieldStrength() const;
00224 void setMagneticFieldStrength(DoubleReal magnetic_field_strength);
00225
00236 Int getOrder() const;
00238 void setOrder(Int order);
00239
00240 protected:
00241 AnalyzerType type_;
00242 ResolutionMethod resolution_method_;
00243 ResolutionType resolution_type_;
00244 ScanDirection scan_direction_;
00245 ScanLaw scan_law_;
00246 ReflectronState reflectron_state_;
00247 DoubleReal resolution_;
00248 DoubleReal accuracy_;
00249 DoubleReal scan_rate_;
00250 DoubleReal scan_time_;
00251 DoubleReal TOF_total_path_length_;
00252 DoubleReal isolation_width_;
00253 Int final_MS_exponent_;
00254 DoubleReal magnetic_field_strength_;
00255 Int order_;
00256 };
00257 }
00258
00259 #endif // OPENMS_METADATA_MASSANALYZER_H