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

InstrumentSettings.h

Go to the documentation of this file.
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