OpenMS
Instrument Class Reference

Description of a MS instrument. More...

#include <OpenMS/METADATA/Instrument.h>

Inheritance diagram for Instrument:
[legend]
Collaboration diagram for Instrument:
[legend]

Public Types

enum  IonOpticsType {
  UNKNOWN , MAGNETIC_DEFLECTION , DELAYED_EXTRACTION , COLLISION_QUADRUPOLE ,
  SELECTED_ION_FLOW_TUBE , TIME_LAG_FOCUSING , REFLECTRON , EINZEL_LENS ,
  FIRST_STABILITY_REGION , FRINGING_FIELD , KINETIC_ENERGY_ANALYZER , STATIC_FIELD ,
  SIZE_OF_IONOPTICSTYPE
}
 ion optics type More...
 

Public Member Functions

 Instrument ()
 Constructor. More...
 
 Instrument (const Instrument &)=default
 Copy constructor. More...
 
 Instrument (Instrument &&)=default
 Move constructor. More...
 
 ~Instrument ()
 Destructor. More...
 
Instrumentoperator= (const Instrument &)=default
 Assignment operator. More...
 
Instrumentoperator= (Instrument &&) &=default
 Move assignment operator. More...
 
bool operator== (const Instrument &rhs) const
 Equality operator. More...
 
bool operator!= (const Instrument &rhs) const
 Equality operator. More...
 
const StringgetName () const
 returns the name of the instrument More...
 
void setName (const String &name)
 sets the name of the instrument More...
 
const StringgetVendor () const
 returns the instrument vendor More...
 
void setVendor (const String &vendor)
 sets the instrument vendor More...
 
const StringgetModel () const
 returns the instrument model More...
 
void setModel (const String &model)
 sets the instrument model More...
 
const StringgetCustomizations () const
 returns a description of customizations More...
 
void setCustomizations (const String &customizations)
 sets a description of customizations More...
 
const std::vector< IonSource > & getIonSources () const
 returns a const reference to the ion source list More...
 
std::vector< IonSource > & getIonSources ()
 returns a mutable reference to the ion source list More...
 
void setIonSources (const std::vector< IonSource > &ion_sources)
 sets the ion source list More...
 
const std::vector< MassAnalyzer > & getMassAnalyzers () const
 returns a const reference to the mass analyzer list More...
 
std::vector< MassAnalyzer > & getMassAnalyzers ()
 returns a mutable reference to the mass analyzer list More...
 
void setMassAnalyzers (const std::vector< MassAnalyzer > &mass_analyzers)
 sets the mass analyzer list More...
 
const std::vector< IonDetector > & getIonDetectors () const
 returns a const reference to the ion detector list More...
 
std::vector< IonDetector > & getIonDetectors ()
 returns a mutable reference to the ion detector list More...
 
void setIonDetectors (const std::vector< IonDetector > &ion_detectors)
 sets the ion detector list More...
 
const SoftwaregetSoftware () const
 returns a const reference to the instrument software More...
 
SoftwaregetSoftware ()
 returns a mutable reference to the instrument software More...
 
void setSoftware (const Software &software)
 sets the instrument software More...
 
IonOpticsType getIonOptics () const
 returns the ion optics type More...
 
void setIonOptics (IonOpticsType ion_optics)
 sets the ion optics type More...
 
- Public Member Functions inherited from MetaInfoInterface
 MetaInfoInterface ()
 Constructor. More...
 
 MetaInfoInterface (const MetaInfoInterface &rhs)
 Copy constructor. More...
 
 MetaInfoInterface (MetaInfoInterface &&) noexcept
 Move constructor. More...
 
 ~MetaInfoInterface ()
 Destructor. More...
 
MetaInfoInterfaceoperator= (const MetaInfoInterface &rhs)
 Assignment operator. More...
 
MetaInfoInterfaceoperator= (MetaInfoInterface &&) noexcept
 Move assignment operator. More...
 
void swap (MetaInfoInterface &rhs)
 Swap contents. More...
 
bool operator== (const MetaInfoInterface &rhs) const
 Equality operator. More...
 
bool operator!= (const MetaInfoInterface &rhs) const
 Equality operator. More...
 
const DataValuegetMetaValue (const String &name) const
 Returns the value corresponding to a string, or DataValue::EMPTY if not found. More...
 
DataValue getMetaValue (const String &name, const DataValue &default_value) const
 Returns the value corresponding to a string, or a default value (e.g.: DataValue::EMPTY) if not found. More...
 
const DataValuegetMetaValue (UInt index) const
 Returns the value corresponding to the index, or DataValue::EMPTY if not found. More...
 
DataValue getMetaValue (UInt index, const DataValue &default_value) const
 Returns the value corresponding to the index, or a default value (e.g.: DataValue::EMPTY) if not found. More...
 
bool metaValueExists (const String &name) const
 Returns whether an entry with the given name exists. More...
 
bool metaValueExists (UInt index) const
 Returns whether an entry with the given index exists. More...
 
void setMetaValue (const String &name, const DataValue &value)
 Sets the DataValue corresponding to a name. More...
 
void setMetaValue (UInt index, const DataValue &value)
 Sets the DataValue corresponding to an index. More...
 
void removeMetaValue (const String &name)
 Removes the DataValue corresponding to name if it exists. More...
 
void removeMetaValue (UInt index)
 Removes the DataValue corresponding to index if it exists. More...
 
void addMetaValues (const MetaInfoInterface &from)
 function to copy all meta values from one object to this one More...
 
void getKeys (std::vector< String > &keys) const
 Fills the given vector with a list of all keys for which a value is set. More...
 
void getKeys (std::vector< UInt > &keys) const
 Fills the given vector with a list of all keys for which a value is set. More...
 
bool isMetaEmpty () const
 Returns if the MetaInfo is empty. More...
 
void clearMetaInfo ()
 Removes all meta values. More...
 

Static Public Attributes

static const std::string NamesOfIonOpticsType [SIZE_OF_IONOPTICSTYPE]
 Names of inlet types. More...
 

Protected Attributes

String name_
 
String vendor_
 
String model_
 
String customizations_
 
std::vector< IonSourceion_sources_
 
std::vector< MassAnalyzermass_analyzers_
 
std::vector< IonDetectorion_detectors_
 
Software software_
 
IonOpticsType ion_optics_
 
- Protected Attributes inherited from MetaInfoInterface
MetaInfometa_
 Pointer to the MetaInfo object (0 by default) More...
 

Additional Inherited Members

- Static Public Member Functions inherited from MetaInfoInterface
static MetaInfoRegistrymetaRegistry ()
 Returns a reference to the MetaInfoRegistry. More...
 
- Protected Member Functions inherited from MetaInfoInterface
void createIfNotExists_ ()
 Creates the MetaInfo object if it does not exist. More...
 

Detailed Description

Description of a MS instrument.

It contains information like vendor, model, ion source(s), mass analyzer(s), and ion detector(s).

The parts (IonSource, MassAnalyzer, IonDetector) all have a order member. The order can be ignored, as long the instrument has this default setup:

  • one ion source
  • one or many mass analyzers
  • one ion detector

For more complex instruments, the order should be defined.

Member Enumeration Documentation

◆ IonOpticsType

ion optics type

Enumerator
UNKNOWN 

unknown

MAGNETIC_DEFLECTION 

magnetic deflection

DELAYED_EXTRACTION 

delayed extraction

COLLISION_QUADRUPOLE 

collision quadrupole

SELECTED_ION_FLOW_TUBE 

selected ion flow tube

TIME_LAG_FOCUSING 

time lag focusing

REFLECTRON 

reflectron

EINZEL_LENS 

einzel lens

FIRST_STABILITY_REGION 

first stability region

FRINGING_FIELD 

fringing field

KINETIC_ENERGY_ANALYZER 

kinetic energy analyzer

STATIC_FIELD 

static field

SIZE_OF_IONOPTICSTYPE 

Constructor & Destructor Documentation

◆ Instrument() [1/3]

Constructor.

◆ Instrument() [2/3]

Instrument ( const Instrument )
default

Copy constructor.

◆ Instrument() [3/3]

Instrument ( Instrument &&  )
default

Move constructor.

◆ ~Instrument()

~Instrument ( )

Destructor.

Member Function Documentation

◆ getCustomizations()

const String& getCustomizations ( ) const

returns a description of customizations

◆ getIonDetectors() [1/2]

std::vector<IonDetector>& getIonDetectors ( )

returns a mutable reference to the ion detector list

◆ getIonDetectors() [2/2]

const std::vector<IonDetector>& getIonDetectors ( ) const

returns a const reference to the ion detector list

◆ getIonOptics()

IonOpticsType getIonOptics ( ) const

returns the ion optics type

◆ getIonSources() [1/2]

std::vector<IonSource>& getIonSources ( )

returns a mutable reference to the ion source list

◆ getIonSources() [2/2]

const std::vector<IonSource>& getIonSources ( ) const

returns a const reference to the ion source list

Referenced by XMassFile::importExperimentalSettings().

◆ getMassAnalyzers() [1/2]

std::vector<MassAnalyzer>& getMassAnalyzers ( )

returns a mutable reference to the mass analyzer list

◆ getMassAnalyzers() [2/2]

const std::vector<MassAnalyzer>& getMassAnalyzers ( ) const

returns a const reference to the mass analyzer list

Referenced by XMassFile::importExperimentalSettings().

◆ getModel()

const String& getModel ( ) const

returns the instrument model

◆ getName()

const String& getName ( ) const

returns the name of the instrument

◆ getSoftware() [1/2]

Software& getSoftware ( )

returns a mutable reference to the instrument software

◆ getSoftware() [2/2]

const Software& getSoftware ( ) const

returns a const reference to the instrument software

◆ getVendor()

const String& getVendor ( ) const

returns the instrument vendor

◆ operator!=()

bool operator!= ( const Instrument rhs) const

Equality operator.

◆ operator=() [1/2]

Instrument& operator= ( const Instrument )
default

Assignment operator.

◆ operator=() [2/2]

Instrument& operator= ( Instrument &&  ) &
default

Move assignment operator.

◆ operator==()

bool operator== ( const Instrument rhs) const

Equality operator.

◆ setCustomizations()

void setCustomizations ( const String customizations)

sets a description of customizations

◆ setIonDetectors()

void setIonDetectors ( const std::vector< IonDetector > &  ion_detectors)

sets the ion detector list

◆ setIonOptics()

void setIonOptics ( IonOpticsType  ion_optics)

sets the ion optics type

◆ setIonSources()

void setIonSources ( const std::vector< IonSource > &  ion_sources)

sets the ion source list

◆ setMassAnalyzers()

void setMassAnalyzers ( const std::vector< MassAnalyzer > &  mass_analyzers)

sets the mass analyzer list

◆ setModel()

void setModel ( const String model)

sets the instrument model

Referenced by XMassFile::importExperimentalSettings().

◆ setName()

void setName ( const String name)

sets the name of the instrument

Referenced by XMassFile::importExperimentalSettings().

◆ setSoftware()

void setSoftware ( const Software software)

sets the instrument software

◆ setVendor()

void setVendor ( const String vendor)

sets the instrument vendor

Referenced by XMassFile::importExperimentalSettings().

Member Data Documentation

◆ customizations_

String customizations_
protected

◆ ion_detectors_

std::vector<IonDetector> ion_detectors_
protected

◆ ion_optics_

IonOpticsType ion_optics_
protected

◆ ion_sources_

std::vector<IonSource> ion_sources_
protected

◆ mass_analyzers_

std::vector<MassAnalyzer> mass_analyzers_
protected

◆ model_

String model_
protected

◆ name_

String name_
protected

◆ NamesOfIonOpticsType

const std::string NamesOfIonOpticsType[SIZE_OF_IONOPTICSTYPE]
static

Names of inlet types.

◆ software_

Software software_
protected

◆ vendor_

String vendor_
protected