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 #ifndef OPENMS_METADATA_MASSANALYZER_H
00028 #define OPENMS_METADATA_MASSANALYZER_H
00029
00030 #include <OpenMS/CONCEPT/Types.h>
00031 #include <OpenMS/METADATA/MetaInfoInterface.h>
00032
00033 namespace OpenMS
00034 {
00042 class MassAnalyzer: public MetaInfoInterface
00043 {
00044 public:
00046 enum AnalyzerType {ANALYZERNULL,QUADRUPOLE,PAULIONTRAP,RADIALEJECTIONLINEARIONTRAP,AXIALEJECTIONLINEARIONTRAP,TOF,SECTOR,FOURIERTRANSFORM,IONSTORAGE,SIZE_OF_ANALYZERTYPE};
00048 static const std::string NamesOfAnalyzerType[SIZE_OF_ANALYZERTYPE];
00049
00055 enum ResolutionMethod {RESMETHNULL,FWHM,TENPERCENTVALLEY,BASELINE,SIZE_OF_RESOLUTIONMETHOD};
00057 static const std::string NamesOfResolutionMethod[SIZE_OF_RESOLUTIONMETHOD];
00058
00059 enum ResolutionType {RESTYPENULL,CONSTANT,PROPORTIONAL,SIZE_OF_RESOLUTIONTYPE};
00061 static const std::string NamesOfResolutionType[SIZE_OF_RESOLUTIONTYPE];
00062
00063 enum ScanFunction {SCANFCTNULL,SELECTEDIONDETECTION,MASSSCAN,SIZE_OF_SCANFUNCTION};
00065 static const std::string NamesOfScanFunction[SIZE_OF_SCANFUNCTION];
00066
00068 enum ScanDirection {SCANDIRNULL,UP,DOWN,SIZE_OF_SCANDIRECTION};
00070 static const std::string NamesOfScanDirection[SIZE_OF_SCANDIRECTION];
00071
00072 enum ScanLaw {SCANLAWNULL,EXPONENTIAL,LINEAR,QUADRATIC,SIZE_OF_SCANLAW};
00074 static const std::string NamesOfScanLaw[SIZE_OF_SCANLAW];
00075
00077 enum TandemScanningMethod {TANDEMNULL,PRODUCTIONSCAN,PRECURSORIONSCAN,CONSTANTNEUTRALLOSS,SINGLEREACTIONMONITORING,MULTIPLEREACTIONMONITORING,SINGLEIONMONITORING,MULTIPLEIONMONITORING,SIZE_OF_TANDEMSCANNINGMETHOD};
00079 static const std::string NamesOfTandemScanningMethod[SIZE_OF_TANDEMSCANNINGMETHOD];
00080
00082 enum ReflectronState {REFLSTATENULL,ON,OFF,NONE,SIZE_OF_REFLECTRONSTATE};
00084 static const std::string NamesOfReflectronState[SIZE_OF_REFLECTRONSTATE];
00085
00087 MassAnalyzer();
00089 MassAnalyzer(const MassAnalyzer& source);
00091 ~MassAnalyzer();
00092
00094 MassAnalyzer& operator= (const MassAnalyzer& source);
00095
00097 bool operator== (const MassAnalyzer& rhs) const;
00099 bool operator!= (const MassAnalyzer& rhs) const;
00100
00102 AnalyzerType getType() const;
00104 void setType(AnalyzerType type);
00105
00107 ResolutionMethod getResolutionMethod() const;
00109 void setResolutionMethod(ResolutionMethod resolution_method);
00110
00112 ResolutionType getResolutionType() const;
00114 void setResolutionType(ResolutionType resolution_type);
00115
00117 ScanFunction getScanFunction() const;
00119 void setScanFunction(ScanFunction scan_function);
00120
00122 ScanDirection getScanDirection() const;
00124 void setScanDirection(ScanDirection scan_direction);
00125
00127 ScanLaw getScanLaw() const;
00129 void setScanLaw(ScanLaw scan_law);
00130
00132 TandemScanningMethod getTandemScanMethod() const;
00134 void setTandemScanMethod(TandemScanningMethod tandem_scan_method);
00135
00137 ReflectronState getReflectronState() const;
00139 void setReflectronState(ReflectronState reflecton_state);
00140
00146 float getResolution() const;
00148 void setResolution(float resolution);
00149
00151 float getAccuracy() const;
00153 void setAccuracy(float accuracy);
00154
00156 float getScanRate() const;
00158 void setScanRate(float scan_rate);
00159
00161 float getScanTime() const;
00163 void setScanTime(float scan_time);
00164
00166 float getTOFTotalPathLength() const;
00168 void setTOFTotalPathLength(float TOF_total_path_length);
00169
00171 float getIsolationWidth() const;
00173 void setIsolationWidth(float isolation_width);
00174
00176 Int getFinalMSExponent() const;
00178 void setFinalMSExponent(Int final_MS_exponent);
00179
00181 float getMagneticFieldStrength() const;
00183 void setMagneticFieldStrength(float magnetic_field_strength);
00184
00185 protected:
00186 AnalyzerType type_;
00187 ResolutionMethod resolution_method_;
00188 ResolutionType resolution_type_;
00189 ScanFunction scan_function_;
00190 ScanDirection scan_direction_;
00191 ScanLaw scan_law_;
00192 TandemScanningMethod tandem_scan_method_;
00193 ReflectronState reflectron_state_;
00194 float resolution_;
00195 float accuracy_;
00196 float scan_rate_;
00197 float scan_time_;
00198 float TOF_total_path_length_;
00199 float isolation_width_;
00200 Int final_MS_exponent_;
00201 float magnetic_field_strength_;
00202 };
00203 }
00204
00205 #endif // OPENMS_METADATA_MASSANALYZER_H