// Clemens Groepl, 2009/2010 // Praxis des Programmierens, WS 2009/10, Uni Greifswald #ifndef KERNEL_HPP #define KERNEL_HPP #include #include #include /// Representation for an LC-MS feature class Feature { public: /// default constructor, TODO initialize rt mz intens Feature (); /// copy constructor Feature( const Feature& rhs ); /// destructor, actually not necessary right now ~Feature(); /// accessor for retention time double getRT() const; /// mutator for retention time void setRT( double rhs ); /// TODO DOCME double getMZ() const; /// TODO DOCME void setMZ( double rhs ); /// TODO DOCME double getIntensity() const; /// TODO DOCME void setIntensity( double rhs ); /// read a Feature from a stream void readStream( std::istream & input ); /// write a Feature to a stream void writeStream( std::ostream & output ) const; protected: /// retention time double rt; /// mass-to-charge double mz; /// intensity double intens; }; /// Representation for a "map" of LC-MS features class FeatureMap : public std::vector { public: /// read a FeatureMap from a stream void readStream( std::istream & input ); /// write a FeatureMap to a stream void writeStream( std::ostream & output ) const; /// just an example for what else we might provide in this class double getMinRT() const; }; /// Representation for a collection of features maps class FeatureMapCollection : public std::vector {}; /// An index into a container. Note that -1 indicates an invalid index. typedef int Index; /// Representation for a row of indices (of features within a feature map) class IndexRow : public std::vector {}; /// Representation of a table of indices class IndexMatrix : public std::vector {}; #endif // KERNEL_HPP