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

IonDetector.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_IONDETECTOR_H
00036 #define OPENMS_METADATA_IONDETECTOR_H
00037 
00038 #include <OpenMS/METADATA/MetaInfoInterface.h>
00039 
00040 namespace OpenMS
00041 {
00047   class OPENMS_DLLAPI IonDetector :
00048     public MetaInfoInterface
00049   {
00050 public:
00052     enum Type
00053     {
00054       TYPENULL,                                                                 
00055       ELECTRONMULTIPLIER,                                           
00056       PHOTOMULTIPLIER,                                                  
00057       FOCALPLANEARRAY,                                                  
00058       FARADAYCUP,                                                           
00059       CONVERSIONDYNODEELECTRONMULTIPLIER,           
00060       CONVERSIONDYNODEPHOTOMULTIPLIER,                  
00061       MULTICOLLECTOR,                                                   
00062       CHANNELELECTRONMULTIPLIER,                            
00063       CHANNELTRON,                                                          
00064       DALYDETECTOR,                                                         
00065       MICROCHANNELPLATEDETECTOR,                            
00066       ARRAYDETECTOR,                                                    
00067       CONVERSIONDYNODE,                                                 
00068       DYNODE,                                                                   
00069       FOCALPLANECOLLECTOR,                                          
00070       IONTOPHOTONDETECTOR,                                          
00071       POINTCOLLECTOR,                                                   
00072       POSTACCELERATIONDETECTOR,                                 
00073       PHOTODIODEARRAYDETECTOR,                                  
00074       INDUCTIVEDETECTOR,                                            
00075       ELECTRONMULTIPLIERTUBE,                                   
00076       SIZE_OF_TYPE
00077     };
00079     static const std::string NamesOfType[SIZE_OF_TYPE];
00080 
00082     enum AcquisitionMode
00083     {
00084       ACQMODENULL,                          
00085       PULSECOUNTING,                    
00086       ADC,                                          
00087       TDC,                                          
00088       TRANSIENTRECORDER,            
00089       SIZE_OF_ACQUISITIONMODE
00090     };
00092     static const std::string NamesOfAcquisitionMode[SIZE_OF_ACQUISITIONMODE];
00093 
00095     IonDetector();
00097     IonDetector(const IonDetector & source);
00099     ~IonDetector();
00100 
00102     IonDetector & operator=(const IonDetector & source);
00103 
00105     bool operator==(const IonDetector & rhs) const;
00107     bool operator!=(const IonDetector & rhs) const;
00108 
00110     Type getType() const;
00112     void setType(Type type);
00113 
00115     AcquisitionMode getAcquisitionMode() const;
00117     void setAcquisitionMode(AcquisitionMode acquisition_mode);
00118 
00120     DoubleReal getResolution() const;
00122     void setResolution(DoubleReal resolution);
00123 
00125     DoubleReal getADCSamplingFrequency() const;
00127     void setADCSamplingFrequency(DoubleReal ADC_sampling_frequency);
00128 
00139     Int getOrder() const;
00141     void setOrder(Int order);
00142 
00143 protected:
00144     Type type_;
00145     AcquisitionMode acquisition_mode_;
00146     DoubleReal resolution_;
00147     DoubleReal ADC_sampling_frequency_;
00148     Int order_;
00149 
00150   };
00151 } // namespace OpenMS
00152 
00153 #endif // OPENMS_METADATA_IONDETECTOR_H

OpenMS / TOPP release 1.10.0 Documentation generated on Thu Mar 7 2013 09:42:40 using doxygen 1.7.1