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 <fstream>
00009 #include <iostream>
00010 #include <string>
00011
00012 namespace ell {
00013
00014 class LT_MinimaSet: public LandscapeTopology {
00015
00016 protected:
00018 std::vector<const State*> vMinima;
00020 size_t mfeIndex;
00022 bool sorted;
00023
00024 public:
00025
00028 static const std::string LT_ID;
00029
00031 LT_MinimaSet();
00033 virtual
00034 ~LT_MinimaSet();
00035
00037
00043 virtual
00044 bool
00045 addSaddle(const size_t i, const size_t j, const State* const s);
00046
00052 virtual
00053 bool
00054 addSaddle(const State* const m_i, const State* const m_j, const State* const s);
00055
00062 virtual
00063 const size_t
00064 addMin(const State* const m);
00065
00070 virtual
00071 const size_t
00072 getMinIndex(const State* const m) const;
00073
00076 virtual
00077 const size_t
00078 getMinCount() const;
00079
00083 virtual
00084 const State* const
00085 getMin(size_t i) const;
00086
00089 virtual
00090 const std::vector<const State*> &
00091 getAllMin() const;
00092
00097 virtual
00098 const State* const
00099 getMFEState() const;
00100
00104 virtual
00105 double
00106 getRMSD(const LandscapeTopology* const lt) const;
00107
00110 virtual
00111 void
00112 sort();
00113
00117 virtual
00118 bool
00119 isSorted() const;
00120
00123 virtual
00124 void
00125 clear();
00126
00131 virtual
00132 void
00133 write( std::ostream & out, const std::string & StateDescription ) const;
00134
00147 virtual
00148 std::pair<int,std::string>
00149 read( std::istream & in,
00150 const State * const templateState,
00151 const std::string & StateDescription );
00152
00153
00154 };
00155
00156 }
00157
00158
00159
00160 #endif