00001 #ifndef __MGFP_INCLUDE_MGFSPECTRUM_H__
00002 #define __MGFP_INCLUDE_MGFSPECTRUM_H__
00003
00004 #include <mgfp/config.h>
00005
00006 #include <ostream>
00007 #include <string>
00008 #include <utility>
00009 #include <vector>
00010
00011 #include <mgfp/Collection.h>
00012 #include <mgfp/MassAbundancePair.h>
00013
00014 namespace mgf {
00015
00021 class MGFP_EXPORT MgfSpectrum : public Collection<MassAbundancePair>
00022 {
00023 public:
00026 MgfSpectrum();
00027
00032 std::vector<int> getCHARGE(void) const;
00033
00038 void setCHARGE(const std::vector<int>& charges);
00039
00044 std::string getCOMP(void) const;
00045
00050 void setCOMP(const std::string& comp);
00051
00056 std::string getETAG(void) const;
00057
00062 void setETAG(const std::string& etag);
00063
00070 std::string getINSTRUMENT(void) const;
00071
00078 void setINSTRUMENT(const std::string& instrument);
00079
00084 void getIONS(std::vector<MassAbundancePair>& ions) const;
00085
00090 void setIONS(const std::vector<MassAbundancePair>& ions);
00091
00098 std::string getIT_MODS(void) const;
00099
00106 void setIT_MODS(const std::string& it_mods);
00107
00116 std::pair<double, double> getPEPMASS(void) const;
00117
00124 void setPEPMASS(const std::pair<double, double> pepmass);
00125
00131 std::pair<double,double> getRTINSECONDS(void) const;
00132
00139 void setRTINSECONDS(const std::pair<double,double>& rtinseconds);
00140
00145 void setRTINSECONDS(const double rtinseconds);
00146
00153 std::pair<int, int> getSCANS(void) const;
00154
00161 void setSCANS(const std::pair<int, int>& scans);
00162
00169 void setSCANS(const int scans);
00170
00176 std::string getSEQ(void) const;
00177
00183 void setSEQ(const std::string& seq);
00184
00190 std::string getTAG(void) const;
00191
00197 void setTAG(const std::string& tag);
00198
00204 std::string getTITLE(void) const;
00205
00211 void setTITLE(const std::string& title);
00212
00218 double getTOL(void) const;
00219
00225 void setTOL(const double tol);
00226
00231 std::string getTOLU(void) const;
00232
00237 void setTOLU(const std::string& tolu);
00238
00241 void clear();
00242
00243 private:
00244 friend std::ostream& operator<<(std::ostream& os, const MgfSpectrum& mgf);
00245 std::vector<int> charges_;
00246 std::string comp_, etag_, instrument_, it_mods_;
00247 std::pair<double, double> pepmass_;
00248 std::pair<double, double> rtinseconds_;
00249 std::pair<int, int> scans_;
00250 std::string seq_, tag_, title_;
00251 double tol_;
00252 std::string tolu_;
00253 };
00254
00259 std::ostream& operator<<(std::ostream& os, const MgfSpectrum& mgf);
00260
00261 }
00262
00263 #endif
00264