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 #ifndef OPENMS_KERNEL_BASEFEATURE_H
00036 #define OPENMS_KERNEL_BASEFEATURE_H
00037
00038 #include <OpenMS/KERNEL/RichPeak2D.h>
00039 #include <OpenMS/METADATA/PeptideIdentification.h>
00040
00041 namespace OpenMS
00042 {
00043
00055 class OPENMS_DLLAPI BaseFeature :
00056 public RichPeak2D
00057 {
00058 public:
00060
00061
00062 typedef Real QualityType;
00064 typedef Int ChargeType;
00066 typedef Real WidthType;
00068
00072
00073 BaseFeature();
00074
00076 BaseFeature(const BaseFeature & feature);
00077
00079 explicit BaseFeature(const Peak2D & point);
00080
00082 explicit BaseFeature(const RichPeak2D & point);
00083
00085 ~BaseFeature();
00087
00089
00090
00091 QualityType getQuality() const;
00093 void setQuality(QualityType q);
00095 struct QualityLess :
00096 std::binary_function<BaseFeature, BaseFeature, bool>
00097 {
00098 bool operator()(const BaseFeature & left, const BaseFeature & right) const
00099 {
00100 return left.getQuality() < right.getQuality();
00101 }
00102
00103 bool operator()(const BaseFeature & left, const QualityType & right) const
00104 {
00105 return left.getQuality() < right;
00106 }
00107
00108 bool operator()(const QualityType & left, const BaseFeature & right) const
00109 {
00110 return left < right.getQuality();
00111 }
00112
00113 bool operator()(const QualityType & left, const QualityType & right) const
00114 {
00115 return left < right;
00116 }
00117
00118 };
00120
00122 WidthType getWidth() const;
00124 void setWidth(WidthType fwhm);
00125
00127 const ChargeType & getCharge() const;
00128
00130 void setCharge(const ChargeType & ch);
00131
00133 BaseFeature & operator=(const BaseFeature & rhs);
00134
00136 bool operator==(const BaseFeature & rhs) const;
00137
00139 bool operator!=(const BaseFeature & rhs) const;
00140
00142 const std::vector<PeptideIdentification> & getPeptideIdentifications() const;
00143
00145 std::vector<PeptideIdentification> & getPeptideIdentifications();
00146
00148 void setPeptideIdentifications(const std::vector<PeptideIdentification> & peptides);
00149
00150 protected:
00151
00153 QualityType quality_;
00154
00156 ChargeType charge_;
00157
00159 WidthType width_;
00160
00162 std::vector<PeptideIdentification> peptides_;
00163 };
00164
00165 }
00166
00167 #endif // OPENMS_KERNEL_BASEFEATURE_H