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_INSTRUMENT_H
00036 #define OPENMS_METADATA_INSTRUMENT_H
00037
00038 #include <OpenMS/DATASTRUCTURES/String.h>
00039 #include <OpenMS/METADATA/MetaInfoInterface.h>
00040 #include <OpenMS/METADATA/IonSource.h>
00041 #include <OpenMS/METADATA/MassAnalyzer.h>
00042 #include <OpenMS/METADATA/IonDetector.h>
00043 #include <OpenMS/METADATA/Software.h>
00044
00045 #include <vector>
00046
00047 namespace OpenMS
00048 {
00064 class OPENMS_DLLAPI Instrument :
00065 public MetaInfoInterface
00066 {
00067
00068 public:
00069
00071 enum IonOpticsType
00072 {
00073 UNKNOWN,
00074 MAGNETIC_DEFLECTION,
00075 DELAYED_EXTRACTION,
00076 COLLISION_QUADRUPOLE,
00077 SELECTED_ION_FLOW_TUBE,
00078 TIME_LAG_FOCUSING,
00079 REFLECTRON,
00080 EINZEL_LENS,
00081 FIRST_STABILITY_REGION,
00082 FRINGING_FIELD,
00083 KINETIC_ENERGY_ANALYZER,
00084 STATIC_FIELD,
00085 SIZE_OF_IONOPTICSTYPE
00086 };
00088 static const std::string NamesOfIonOpticsType[SIZE_OF_IONOPTICSTYPE];
00089
00091 Instrument();
00093 Instrument(const Instrument & source);
00095 ~Instrument();
00096
00098 Instrument & operator=(const Instrument & source);
00099
00101 bool operator==(const Instrument & rhs) const;
00103 bool operator!=(const Instrument & rhs) const;
00104
00106 const String & getName() const;
00108 void setName(const String & name);
00109
00111 const String & getVendor() const;
00113 void setVendor(const String & vendor);
00114
00116 const String & getModel() const;
00118 void setModel(const String & model);
00119
00121 const String & getCustomizations() const;
00123 void setCustomizations(const String & customizations);
00124
00126 const std::vector<IonSource> & getIonSources() const;
00128 std::vector<IonSource> & getIonSources();
00130 void setIonSources(const std::vector<IonSource> & ion_sources);
00131
00133 const std::vector<MassAnalyzer> & getMassAnalyzers() const;
00135 std::vector<MassAnalyzer> & getMassAnalyzers();
00137 void setMassAnalyzers(const std::vector<MassAnalyzer> & mass_analyzers);
00138
00140 const std::vector<IonDetector> & getIonDetectors() const;
00142 std::vector<IonDetector> & getIonDetectors();
00144 void setIonDetectors(const std::vector<IonDetector> & ion_detectors);
00145
00147 const Software & getSoftware() const;
00149 Software & getSoftware();
00151 void setSoftware(const Software & software);
00152
00154 IonOpticsType getIonOptics() const;
00156 void setIonOptics(IonOpticsType ion_optics);
00157
00158 protected:
00159
00160 String name_;
00161 String vendor_;
00162 String model_;
00163 String customizations_;
00164 std::vector<IonSource> ion_sources_;
00165 std::vector<MassAnalyzer> mass_analyzers_;
00166 std::vector<IonDetector> ion_detectors_;
00167 Software software_;
00168 IonOpticsType ion_optics_;
00169 };
00170 }
00171
00172 #endif // OPENMS_METADATA_INSTRUMENT_H