Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages

MassAnalyzer.h (Maintainer: Marc Sturm)

Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // --------------------------------------------------------------------------
00005 //                   OpenMS Mass Spectrometry Framework
00006 // --------------------------------------------------------------------------
00007 //  Copyright (C) 2003-2008 -- Oliver Kohlbacher, Knut Reinert
00008 //
00009 //  This library is free software; you can redistribute it and/or
00010 //  modify it under the terms of the GNU Lesser General Public
00011 //  License as published by the Free Software Foundation; either
00012 //  version 2.1 of the License, or (at your option) any later version.
00013 // 
00014 //  This library is distributed in the hope that it will be useful,
00015 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00017 //  Lesser General Public License for more details.
00018 //
00019 //  You should have received a copy of the GNU Lesser General Public
00020 //  License along with this library; if not, write to the Free Software
00021 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00022 //
00023 // --------------------------------------------------------------------------
00024 // $Maintainer: Marc Sturm $
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 } // namespace OpenMS
00204 
00205 #endif // OPENMS_METADATA_MASSANALYZER_H

Generated Tue Apr 1 15:36:35 2008 -- using doxygen 1.5.4 OpenMS / TOPP 1.1