00001 // -------------------------------------------------------------------------- 00002 // OpenMS -- Open-Source Mass Spectrometry 00003 // -------------------------------------------------------------------------- 00004 // Copyright The OpenMS Team -- Eberhard Karls University Tuebingen, 00005 // ETH Zurich, and Freie Universitaet Berlin 2002-2012. 00006 // 00007 // This software is released under a three-clause BSD license: 00008 // * Redistributions of source code must retain the above copyright 00009 // notice, this list of conditions and the following disclaimer. 00010 // * Redistributions in binary form must reproduce the above copyright 00011 // notice, this list of conditions and the following disclaimer in the 00012 // documentation and/or other materials provided with the distribution. 00013 // * Neither the name of any author or any participating institution 00014 // may be used to endorse or promote products derived from this software 00015 // without specific prior written permission. 00016 // For a full list of authors, refer to the file AUTHORS. 00017 // -------------------------------------------------------------------------- 00018 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00019 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00020 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00021 // ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING 00022 // INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 00023 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 00024 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 00025 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 00026 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 00027 // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 00028 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00029 // 00030 // -------------------------------------------------------------------------- 00031 // $Maintainer: Andreas Bertsch $ 00032 // $Authors: Marc Sturm $ 00033 // -------------------------------------------------------------------------- 00034 00035 #ifndef OPENMS_METADATA_INSTRUMENTSETTINGS_H 00036 #define OPENMS_METADATA_INSTRUMENTSETTINGS_H 00037 00038 #include <OpenMS/METADATA/ScanWindow.h> 00039 #include <OpenMS/METADATA/IonSource.h> 00040 00041 namespace OpenMS 00042 { 00048 class OPENMS_DLLAPI InstrumentSettings : 00049 public MetaInfoInterface 00050 { 00051 public: 00053 enum ScanMode 00054 { 00055 UNKNOWN, 00056 MASSSPECTRUM, 00057 MS1SPECTRUM, 00058 MSNSPECTRUM, 00059 SIM, 00060 SRM, 00061 CRM, 00062 CNG, 00063 CNL, 00064 PRECURSOR, 00065 EMC, 00066 TDF, 00067 EMR, 00068 EMISSION, 00069 ABSORBTION, 00070 SIZE_OF_SCANMODE 00071 }; 00072 00074 static const std::string NamesOfScanMode[SIZE_OF_SCANMODE]; 00075 00077 InstrumentSettings(); 00079 InstrumentSettings(const InstrumentSettings & source); 00081 ~InstrumentSettings(); 00082 00084 InstrumentSettings & operator=(const InstrumentSettings & source); 00085 00087 bool operator==(const InstrumentSettings & rhs) const; 00089 bool operator!=(const InstrumentSettings & rhs) const; 00090 00092 ScanMode getScanMode() const; 00094 void setScanMode(ScanMode scan_mode); 00095 00097 bool getZoomScan() const; 00099 void setZoomScan(bool zoom_scan); 00100 00102 IonSource::Polarity getPolarity() const; 00104 void setPolarity(IonSource::Polarity polarity); 00105 00107 const std::vector<ScanWindow> & getScanWindows() const; 00109 std::vector<ScanWindow> & getScanWindows(); 00111 void setScanWindows(std::vector<ScanWindow> scan_windows); 00112 00113 protected: 00114 ScanMode scan_mode_; 00115 bool zoom_scan_; 00116 IonSource::Polarity polarity_; 00117 std::vector<ScanWindow> scan_windows_; 00118 }; 00119 } // namespace OpenMS 00120 00121 #endif // OPENMS_METADATA_INSTRUMENTSETTINGS_H
| OpenMS / TOPP release 1.10.0 | Documentation generated on Thu Mar 7 2013 09:42:40 using doxygen 1.7.1 |