Generated on Tue Dec 16 13:34:01 2008 for ell-3.0.0 by doxygen 1.5.1

src/ell/LT_MinimaSet.hh

Go to the documentation of this file.
00001 #ifndef MINIMANET_
00002 #define MINIMANET_
00003 
00004 #include "ell/LandscapeTopology.hh"
00005 #include "ell/State.hh"
00006 
00007 #include <vector>
00008 #include <iostream>
00009 #include <string>
00010 
00011 namespace ell {
00012          
00013 
00020     class LT_MinimaSet: public LandscapeTopology {
00021         
00022     protected:
00024         mutable std::vector<const State*>   vMinima;
00026         size_t mfeIndex;
00028         bool sorted;
00029     
00030     public:
00031         
00034         static const std::string LT_ID;
00035         
00037         LT_MinimaSet();
00039         LT_MinimaSet(const LT_MinimaSet& toCopy);
00041         virtual 
00042         ~LT_MinimaSet();
00043         
00045         
00051         virtual 
00052         bool 
00053         addSaddle(const size_t i, const size_t j, const State* const s);
00054         
00060         virtual 
00061         bool 
00062         addSaddle(const State* const m_i, const State* const m_j, const State* const s);
00063         
00070         virtual 
00071         const size_t 
00072         addMin(const State* const m);
00073         
00078         virtual 
00079         const size_t 
00080         getMinIndex(const State* const m) const;
00081         
00084         virtual 
00085         const size_t 
00086         getMinCount() const;
00087         
00091         virtual 
00092         const State* const 
00093         getMin(size_t i) const;
00094         
00097         virtual 
00098         const std::vector<const State*> & 
00099         getAllMin() const;
00100         
00105         virtual 
00106         const State* const 
00107         getMFEState() const;
00108     
00111         virtual 
00112         void 
00113         sort();
00114 
00118         virtual 
00119         bool 
00120         isSorted() const;
00121 
00130         virtual 
00131         double 
00132         getDistance(const LandscapeTopology* const lt) const;
00133         
00136         virtual 
00137         void 
00138         clear();
00139 
00144         virtual 
00145         void
00146         write(  std::ostream & out, 
00147                 const bool writeGraph = false ) const;
00148 
00158         virtual 
00159         std::pair<int,std::string>
00160         read(   std::istream & in, 
00161                 const State * const templateState );
00162         
00163         
00167         virtual
00168         LT_MinimaSet&
00169         operator = ( const LT_MinimaSet& toCopy );
00170         
00171     };
00172 
00173 }//ell
00174 
00175 
00176 
00177 #endif /*MINIMANET_*/