OpenMS
IonSource.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-2023.
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 {
41 
47  class OPENMS_DLLAPI IonSource :
48  public MetaInfoInterface
49  {
50 public:
52  enum InletType
53  {
74  SIZE_OF_INLETTYPE
75  };
77  static const std::string NamesOfInletType[SIZE_OF_INLETTYPE];
78 
81  {
83  ESI,
84  EI,
85  CI,
86  FAB,
87  TSP,
88  LD,
89  FD,
90  FI,
91  PD,
92  SI,
93  TI,
94  API,
95  ISI,
96  CID,
97  CAD,
98  HN,
99  APCI,
101  ICP,
106  FIB,
108  MPI,
109  DI,
110  FA,
111  FII,
115  PI,
118  AI,
119  ASI,
120  AD,
121  AUI,
122  CEI,
125  LSI,
126  PEI,
127  SOI,
128  SPI,
129  SUI,
130  VI,
134  SIZE_OF_IONIZATIONMETHOD
135  };
137  static const std::string NamesOfIonizationMethod[SIZE_OF_IONIZATIONMETHOD];
138 
140  enum Polarity
141  {
145  SIZE_OF_POLARITY
146  };
148  static const std::string NamesOfPolarity[SIZE_OF_POLARITY];
149 
153  IonSource(const IonSource &) = default;
155  IonSource(IonSource&&) = default;
158 
160  IonSource & operator=(const IonSource &) = default;
162  IonSource& operator=(IonSource&&) & = default;
163 
165  bool operator==(const IonSource & rhs) const;
167  bool operator!=(const IonSource & rhs) const;
168 
172  void setInletType(InletType inlet_type);
173 
177  void setIonizationMethod(IonizationMethod ionization_type);
178 
182  void setPolarity(Polarity polarity);
183 
194  Int getOrder() const;
196  void setOrder(Int order);
197 
198 protected:
203 
204  };
205 
206 } // namespace OpenMS
207 
Description of an ion source (part of a MS Instrument)
Definition: IonSource.h:49
InletType
inlet type
Definition: IonSource.h:53
@ JETSEPARATOR
Jet separator.
Definition: IonSource.h:61
@ CHROMATOGRAPHY
Chromatography (liquid)
Definition: IonSource.h:57
@ MEMBRANE
Membrane inlet.
Definition: IonSource.h:72
@ MEMBRANESEPARATOR
Membrane separator.
Definition: IonSource.h:59
@ DIRECT
Direct.
Definition: IonSource.h:55
@ NANOSPRAY
Nanospray inlet.
Definition: IonSource.h:73
@ INFUSION
Infusion.
Definition: IonSource.h:69
@ MOVINGWIRE
Moving wire.
Definition: IonSource.h:65
@ PARTICLEBEAM
Particle beam.
Definition: IonSource.h:58
@ FLOWINJECTIONANALYSIS
Flow injection analysis.
Definition: IonSource.h:66
@ RESERVOIR
Reservoir.
Definition: IonSource.h:63
@ OPENSPLIT
Open split.
Definition: IonSource.h:60
@ INDUCTIVELYCOUPLEDPLASMA
Inductively coupled plasma.
Definition: IonSource.h:71
@ ELECTROSPRAYINLET
Electro spray.
Definition: IonSource.h:67
@ CONTINUOUSFLOWFASTATOMBOMBARDMENT
Continuous flow fast atom bombardment.
Definition: IonSource.h:70
@ BATCH
Batch (e.g. in MALDI)
Definition: IonSource.h:56
@ SEPTUM
Septum.
Definition: IonSource.h:62
@ INLETNULL
Unknown.
Definition: IonSource.h:54
@ THERMOSPRAYINLET
Thermo spray.
Definition: IonSource.h:68
@ MOVINGBELT
Moving belt.
Definition: IonSource.h:64
void setPolarity(Polarity polarity)
sets the ionization mode
Int getOrder() const
returns the position of this part in the whole Instrument.
~IonSource()
Destructor.
void setIonizationMethod(IonizationMethod ionization_type)
sets the ionization method
IonSource()
Constructor.
void setInletType(InletType inlet_type)
sets the inlet type
IonSource(const IonSource &)=default
Copy constructor.
void setOrder(Int order)
sets the order
Polarity getPolarity() const
returns the ionization mode
IonizationMethod ionization_method_
Definition: IonSource.h:200
Int order_
Definition: IonSource.h:202
InletType getInletType() const
returns the inlet type
Polarity
Polarity of the ion source.
Definition: IonSource.h:141
@ POSITIVE
Positive polarity.
Definition: IonSource.h:143
@ NEGATIVE
Negative polarity.
Definition: IonSource.h:144
@ POLNULL
Unknown.
Definition: IonSource.h:142
IonizationMethod
ionization method
Definition: IonSource.h:81
@ PEI
penning ionization
Definition: IonSource.h:126
@ NESI
Nano electrospray ionization.
Definition: IonSource.h:102
@ CAD
collision activated decomposition
Definition: IonSource.h:97
@ TI
thermal ionization
Definition: IonSource.h:93
@ NICI
negative ion chemical ionization
Definition: IonSource.h:113
@ LD
laser desorption
Definition: IonSource.h:88
@ SELDI
Surface enhanced laser desorption ionization.
Definition: IonSource.h:104
@ HN
Definition: IonSource.h:98
@ EI
electron ionization
Definition: IonSource.h:84
@ CEI
charge exchange ionization
Definition: IonSource.h:122
@ AUI
autoionization
Definition: IonSource.h:121
@ ICP
inductively coupled plasma
Definition: IonSource.h:101
@ IONMETHODNULL
Unknown.
Definition: IonSource.h:82
@ ESI
electrospray ionisation
Definition: IonSource.h:83
@ DI
desorption ionization
Definition: IonSource.h:109
@ GD_MS
glow discharge ionization
Definition: IonSource.h:112
@ ISI
Definition: IonSource.h:95
@ FA
flowing afterglow
Definition: IonSource.h:110
@ PI
photoionization
Definition: IonSource.h:115
@ APPI
atmospheric pressure photo ionization
Definition: IonSource.h:100
@ SUI
surface ionization
Definition: IonSource.h:129
@ MESI
Micro electrospray ionization.
Definition: IonSource.h:103
@ SEND
Surface enhanced neat desorption.
Definition: IonSource.h:105
@ NRMS
neutralization reionization mass spectrometry
Definition: IonSource.h:114
@ SI
secondary ion MS
Definition: IonSource.h:92
@ API
atmospheric pressure ionisation
Definition: IonSource.h:94
@ FII
field ionization
Definition: IonSource.h:111
@ SOI
soft ionization
Definition: IonSource.h:127
@ VI
vertical ionization
Definition: IonSource.h:130
@ AI
adiabatic ionization
Definition: IonSource.h:118
@ FI
flame ionization
Definition: IonSource.h:90
@ APCI
atmospheric pressure chemical ionization
Definition: IonSource.h:99
@ SALDI
surface-assisted laser desorption ionization
Definition: IonSource.h:133
@ REMPI
resonance enhanced multiphoton ionization
Definition: IonSource.h:117
@ PYMS
pyrolysis mass spectrometry
Definition: IonSource.h:116
@ CID
collision induced decomposition
Definition: IonSource.h:96
@ FAB
fast atom bombardment
Definition: IonSource.h:86
@ LSI
liquid secondary ionization
Definition: IonSource.h:125
@ TSP
thermospray
Definition: IonSource.h:87
@ ASI
associative ionization
Definition: IonSource.h:119
@ AP_MALDI
atmospheric pressure matrix-assisted laser desorption ionization
Definition: IonSource.h:131
@ CHEMI
chemi-ionization
Definition: IonSource.h:123
@ AD
autodetachment
Definition: IonSource.h:120
@ MPI
Multiphoton ionization.
Definition: IonSource.h:108
@ FIB
Fast ion bombardment.
Definition: IonSource.h:106
@ CI
chemical ionisation
Definition: IonSource.h:85
@ PD
plasma desorption
Definition: IonSource.h:91
@ SPI
spark ionization
Definition: IonSource.h:128
@ MALDI
Matrix-assisted laser desorption ionization.
Definition: IonSource.h:107
@ FD
field desorption
Definition: IonSource.h:89
@ SILI
desorption/ionization on silicon
Definition: IonSource.h:132
@ DISSI
dissociative ionization
Definition: IonSource.h:124
IonSource & operator=(const IonSource &)=default
Assignment operator.
IonizationMethod getIonizationMethod() const
returns the ionization method
IonSource & operator=(IonSource &&) &=default
Move assignment operator.
bool operator==(const IonSource &rhs) const
Equality operator.
Polarity polarity_
Definition: IonSource.h:201
InletType inlet_type_
Definition: IonSource.h:199
IonSource(IonSource &&)=default
Move constructor.
bool operator!=(const IonSource &rhs) const
Equality operator.
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:48