Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #ifndef OPENMS_CHEMISTRY_ELEMENT_H
00037 #define OPENMS_CHEMISTRY_ELEMENT_H
00038
00039 #include <OpenMS/CONCEPT/Types.h>
00040 #include <OpenMS/DATASTRUCTURES/String.h>
00041 #include <OpenMS/CHEMISTRY/IsotopeDistribution.h>
00042
00043 #define OPENMS_CHEMISTRY_ELEMENT_NAME_DEFAULT "unknown"
00044 #define OPENMS_CHEMISTRY_ELEMENT_SYMBOL_DEFAULT "??"
00045 #define OPENMS_CHEMISTRY_ELEMENT_WEIGHT_DEFAULT 0.0
00046 #define OPENMS_CHEMISTRY_ELEMENT_ATOMICNUMBER_DEFAULT 0
00047
00048 namespace OpenMS
00049 {
00054 class OPENMS_DLLAPI Element
00055 {
00056 public:
00057
00061
00062 Element();
00063
00065 Element(const Element & element);
00066
00068 Element(const String & name,
00069 const String & symbol,
00070 UInt atomic_number,
00071 DoubleReal average_weight,
00072 DoubleReal mono_weight,
00073 const IsotopeDistribution & isotopes);
00074
00076 virtual ~Element();
00078
00082
00083 void setAtomicNumber(UInt atomic_number);
00084
00086 UInt getAtomicNumber() const;
00087
00089 void setAverageWeight(DoubleReal weight);
00090
00092 DoubleReal getAverageWeight() const;
00093
00095 void setMonoWeight(DoubleReal weight);
00096
00098 DoubleReal getMonoWeight() const;
00099
00101 void setIsotopeDistribution(const IsotopeDistribution & isotopes);
00102
00104 const IsotopeDistribution & getIsotopeDistribution() const;
00105
00107 void setName(const String & name);
00108
00110 const String & getName() const;
00111
00113 void setSymbol(const String & symbol);
00114
00116 const String & getSymbol() const;
00118
00122
00123 Element & operator=(const Element & element);
00125
00129
00130 bool operator==(const Element & element) const;
00131
00133 bool operator!=(const Element & element) const;
00135
00137 friend OPENMS_DLLAPI std::ostream & operator<<(std::ostream & os, const Element & element);
00138
00139 protected:
00140
00142 String name_;
00143
00145 String symbol_;
00146
00148 UInt atomic_number_;
00149
00151 DoubleReal average_weight_;
00152
00154 DoubleReal mono_weight_;
00155
00157 IsotopeDistribution isotopes_;
00158 };
00159
00160 OPENMS_DLLAPI std::ostream & operator<<(std::ostream &, const Element &);
00161
00162 }
00163
00164 #endif