OpenMS  2.8.0
IonDetector.h
Go to the documentation of this file.
1 // --------------------------------------------------------------------------
2 // OpenMS -- Open-Source Mass Spectrometry
3 // --------------------------------------------------------------------------
4 // Copyright The OpenMS Team -- Eberhard Karls University Tuebingen,
5 // ETH Zurich, and Freie Universitaet Berlin 2002-2021.
6 //
7 // This software is released under a three-clause BSD license:
8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright
11 // notice, this list of conditions and the following disclaimer in the
12 // documentation and/or other materials provided with the distribution.
13 // * Neither the name of any author or any participating institution
14 // may be used to endorse or promote products derived from this software
15 // without specific prior written permission.
16 // For a full list of authors, refer to the file AUTHORS.
17 // --------------------------------------------------------------------------
18 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 // ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING
22 // INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
27 // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
28 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 //
30 // --------------------------------------------------------------------------
31 // $Maintainer: Timo Sachsenberg $
32 // $Authors: Marc Sturm $
33 // --------------------------------------------------------------------------
34 
35 #pragma once
36 
38 
39 namespace OpenMS
40 {
46  class OPENMS_DLLAPI IonDetector :
47  public MetaInfoInterface
48  {
49 public:
51  enum Type
52  {
75  SIZE_OF_TYPE
76  };
78  static const std::string NamesOfType[SIZE_OF_TYPE];
79 
82  {
85  ADC,
86  TDC,
88  SIZE_OF_ACQUISITIONMODE
89  };
91  static const std::string NamesOfAcquisitionMode[SIZE_OF_ACQUISITIONMODE];
92 
96  IonDetector(const IonDetector &) = default;
98  IonDetector(IonDetector&&) = default;
101 
103  IonDetector & operator=(const IonDetector &) = default;
106 
108  bool operator==(const IonDetector & rhs) const;
110  bool operator!=(const IonDetector & rhs) const;
111 
113  Type getType() const;
115  void setType(Type type);
116 
120  void setAcquisitionMode(AcquisitionMode acquisition_mode);
121 
123  double getResolution() const;
125  void setResolution(double resolution);
126 
128  double getADCSamplingFrequency() const;
130  void setADCSamplingFrequency(double ADC_sampling_frequency);
131 
142  Int getOrder() const;
144  void setOrder(Int order);
145 
146 protected:
149  double resolution_;
152 
153  };
154 } // namespace OpenMS
155 
Description of a ion detector (part of a MS Instrument)
Definition: IonDetector.h:48
bool operator!=(const IonDetector &rhs) const
Equality operator.
Type
Detector type.
Definition: IonDetector.h:52
@ ARRAYDETECTOR
array detector
Definition: IonDetector.h:65
@ INDUCTIVEDETECTOR
inductive detector
Definition: IonDetector.h:73
@ FARADAYCUP
Faraday cup.
Definition: IonDetector.h:57
@ FOCALPLANECOLLECTOR
focal plane collector
Definition: IonDetector.h:68
@ CONVERSIONDYNODEPHOTOMULTIPLIER
Conversion dynode photo multiplier.
Definition: IonDetector.h:59
@ PHOTODIODEARRAYDETECTOR
photodiode array detector
Definition: IonDetector.h:72
@ DYNODE
dynode
Definition: IonDetector.h:67
@ ELECTRONMULTIPLIER
Electron multiplier.
Definition: IonDetector.h:54
@ CONVERSIONDYNODE
conversion dynode
Definition: IonDetector.h:66
@ CHANNELELECTRONMULTIPLIER
Channel electron multiplier.
Definition: IonDetector.h:61
@ POINTCOLLECTOR
point collector
Definition: IonDetector.h:70
@ CONVERSIONDYNODEELECTRONMULTIPLIER
Conversion dynode electron multiplier.
Definition: IonDetector.h:58
@ TYPENULL
Unknown.
Definition: IonDetector.h:53
@ PHOTOMULTIPLIER
Photo multiplier.
Definition: IonDetector.h:55
@ MICROCHANNELPLATEDETECTOR
microchannel plate detector
Definition: IonDetector.h:64
@ MULTICOLLECTOR
Multi-collector.
Definition: IonDetector.h:60
@ POSTACCELERATIONDETECTOR
postacceleration detector
Definition: IonDetector.h:71
@ DALYDETECTOR
daly detector
Definition: IonDetector.h:63
@ IONTOPHOTONDETECTOR
ion-to-photon detector
Definition: IonDetector.h:69
@ CHANNELTRON
channeltron
Definition: IonDetector.h:62
@ ELECTRONMULTIPLIERTUBE
electron multiplier tube
Definition: IonDetector.h:74
@ FOCALPLANEARRAY
Focal plane array.
Definition: IonDetector.h:56
Int getOrder() const
returns the position of this part in the whole Instrument.
double getResolution() const
returns the resolution (in ns)
void setResolution(double resolution)
sets the resolution (in ns)
IonDetector()
Constructor.
void setADCSamplingFrequency(double ADC_sampling_frequency)
sets the analog-to-digital converter sampling frequency (in Hz)
void setOrder(Int order)
sets the order
AcquisitionMode getAcquisitionMode() const
returns the acquisition mode
double resolution_
Definition: IonDetector.h:149
void setType(Type type)
sets the detector type
~IonDetector()
Destructor.
IonDetector(const IonDetector &)=default
Copy constructor.
Int order_
Definition: IonDetector.h:151
IonDetector & operator=(const IonDetector &)=default
Assignment operator.
void setAcquisitionMode(AcquisitionMode acquisition_mode)
sets the acquisition mode
Type getType() const
returns the detector type
AcquisitionMode
Acquisition mode.
Definition: IonDetector.h:82
@ TDC
Time-digital converter.
Definition: IonDetector.h:86
@ ACQMODENULL
Unknown.
Definition: IonDetector.h:83
@ PULSECOUNTING
Pulse counting.
Definition: IonDetector.h:84
@ ADC
Analog-digital converter.
Definition: IonDetector.h:85
@ TRANSIENTRECORDER
Transient recorder.
Definition: IonDetector.h:87
AcquisitionMode acquisition_mode_
Definition: IonDetector.h:148
double ADC_sampling_frequency_
Definition: IonDetector.h:150
bool operator==(const IonDetector &rhs) const
Equality operator.
IonDetector & operator=(IonDetector &&) &=default
Move assignment operator.
Type type_
Definition: IonDetector.h:147
double getADCSamplingFrequency() const
returns the analog-to-digital converter sampling frequency (in Hz)
IonDetector(IonDetector &&)=default
Move constructor.
Interface for classes that can store arbitrary meta information (Type-Name-Value tuples).
Definition: MetaInfoInterface.h:61
int Int
Signed integer type.
Definition: Types.h:102
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:47