Generated on Mon Jun 23 17:17:53 2008 for ell-2.3.0 by doxygen 1.5.1

src/ell/LandscapeTopology.hh

Go to the documentation of this file.
00001 #ifndef LANDSCAPETOPOLOGY_HH_
00002 #define LANDSCAPETOPOLOGY_HH_
00003 
00004 #include "ell/State.hh"
00005 
00006 #include <string>
00007 
00008 namespace ell {
00009 
00016 class LandscapeTopology {
00017     
00018 protected:
00019     
00023     static
00024     bool isSmaller_E_S(const State* a, const State* b);
00025 
00026 
00027     
00028 public:
00029     
00032     static const size_t INVALID_INDEX;
00033     
00035     virtual 
00036     ~LandscapeTopology();
00037     
00043     virtual 
00044     bool 
00045     addSaddle(const size_t i, const size_t j, const State* const s) = 0;
00046     
00052     virtual 
00053     bool 
00054     addSaddle(const State* const m_i, const State* const m_j, const State* const s) = 0;
00055     
00062     virtual 
00063     const size_t 
00064     addMin(const State* const m) = 0;
00065     
00070     virtual 
00071     const size_t 
00072     getMinIndex(const State* const m) const = 0;
00073     
00076     virtual 
00077     const size_t 
00078     getMinCount() const = 0;
00079     
00083     virtual 
00084     const State* const 
00085     getMin(size_t i) const = 0;
00086     
00091     virtual 
00092     const State* const 
00093     getMFEState() const = 0;
00094 
00098     virtual 
00099     double 
00100     getRMSD(const LandscapeTopology* const lt) const = 0;
00101     
00104     virtual 
00105     void 
00106     sort() = 0;
00107 
00111     virtual 
00112     bool 
00113     isSorted() const = 0;
00114 
00117     virtual 
00118     void 
00119     clear() = 0;
00120 
00125     virtual 
00126     void
00127     write( std::ostream & out, const std::string & StateDescription ) const = 0;
00128 
00141     virtual 
00142     std::pair<int,std::string>
00143     read(   std::istream & in, 
00144             const State * const templateState, 
00145             const std::string & StateDescription ) = 0;
00146 
00147 };
00148 
00149 }// ell
00150 
00151 
00152 #endif /*LANDSCAPETOPOLOGY_HH_*/