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 #ifndef OPENMS_CHEMISTRY_PEPITERATOR_H
00028 #define OPENMS_CHEMISTRY_PEPITERATOR_H
00029
00030 #include <vector>
00031 #include <OpenMS/CONCEPT/FactoryProduct.h>
00032 #include <OpenMS/CONCEPT/Exception.h>
00033
00034 namespace OpenMS{
00035
00041 class PepIterator : FactoryProduct
00042 {
00043
00044 public:
00045
00046 typedef std::pair <String, String> FASTAEntry;
00047
00051 PepIterator();
00052
00056 virtual ~PepIterator();
00057
00061 PepIterator(const PepIterator & source);
00062
00068 virtual FASTAEntry operator*() throw (Exception::InvalidIterator)=0;
00069
00075 virtual PepIterator & operator++() throw (Exception::InvalidIterator)=0;
00076
00082 virtual PepIterator * operator++(int) throw (Exception::InvalidIterator)=0;
00083
00090 virtual void setFastaFile (const String & f) throw (Exception::FileNotFound, Exception::ParseError)=0;
00091
00096 virtual String getFastaFile()=0;
00097
00103 virtual void setSpectrum (const std::vector<float> & s) throw (Exception::InvalidValue, Exception::NotImplemented)=0;
00104
00109 virtual const std::vector<float> & getSpectrum ()=0;
00110
00116 virtual void setTolerance (float t) throw (Exception::InvalidValue, Exception::NotImplemented)=0;
00117
00122 virtual float getTolerance()=0;
00123
00127 virtual bool begin()=0;
00128
00132 virtual bool isAtEnd()=0;
00133
00138 static void registerChildren();
00139
00140 };
00141 }
00142 #endif // OPENMS_CHEMISTRY_PEPITERATOR_H