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

src/ell/LT_Funnels.hh

Go to the documentation of this file.
00001 #ifndef LT_FUNNELS_HH_
00002 #define LT_FUNNELS_HH_
00003 
00004 namespace ell
00005 {
00006 
00023 class LT_Funnels
00024 {
00025 protected:
00026     
00030     class Node {
00031     public:
00033         const State* minimum;
00035         Node*  saddleTo;
00037         const State* saddleValue;
00038     };
00039     
00040 protected:
00041     
00042     
00043     
00044 public:
00045     LT_Funnels();
00046     virtual ~LT_Funnels();
00047     
00056     virtual 
00057     bool 
00058     addSaddle(const size_t i, const size_t j, const State* const s);
00059     
00068     virtual 
00069     bool 
00070     addSaddle(const State* const m_i, const State* const m_j, const State* const s);
00071     
00078     virtual 
00079     const size_t 
00080     addMin(const State* const m);
00081     
00086     virtual 
00087     const size_t 
00088     getMinIndex(const State* const m) const;
00089     
00092     virtual 
00093     const size_t 
00094     getMinCount() const;
00095     
00099     virtual 
00100     const State* const 
00101     getMin(size_t i) const;
00102     
00106     virtual 
00107     const State* const 
00108     getMFEState() const;
00109 
00118     virtual 
00119     double 
00120     getDistance(const LandscapeTopology* const lt) const;
00121     
00124     virtual 
00125     void 
00126     sort();
00127 
00131     virtual 
00132     bool 
00133     isSorted() const;
00134 
00137     virtual 
00138     void 
00139     clear();
00140 
00145     virtual 
00146     void
00147     write(  std::ostream & out, 
00148             const bool writeGraph = false ) const;
00149 
00159     virtual 
00160     std::pair<int,std::string>
00161     read(   std::istream & in, 
00162             const State * const templateState );
00163 };
00164 
00165 
00166 
00167 } // namespace ell
00168 
00169 #endif /*LT_FUNNELS_HH_*/