Generated on Mon Jun 23 16:24:56 2008 for BIU-1.7.0 by doxygen 1.5.1

src/biu/LatticeMoveSet.hh

Go to the documentation of this file.
00001 #ifndef LATTICEMOVESET_H_
00002 #define LATTICEMOVESET_H_
00003 
00004 
00005 #include "LatticeModel.hh"
00006 #include "LatticeProtein.hh"
00007 
00008 namespace biu
00009 {
00010 
00020     class LatticeMoveSet
00021     {
00022     protected:
00024         const LatticeModel* lattice;
00025             
00026     public:
00030         LatticeMoveSet(const LatticeModel* lattice);
00031         
00032         virtual LatticeMoveSet* clone() = 0;
00033         
00034         virtual ~LatticeMoveSet();
00035         
00048         virtual LatticeProtein* applyMove(const LatticeProtein* const todo, 
00049                                     size_t moveIndex) = 0;
00050                                     
00061         virtual LatticeProtein* applyMoveInPlace(LatticeProtein* const todo,
00062                                     size_t moveIndex) = 0;
00063         
00065         virtual size_t getMoveNumber( const LatticeProtein* const lp) const = 0;
00066         
00071         virtual LatticeProtein* undoLastMove(LatticeProtein* toUndo) = 0;
00072     };
00073 
00074 } // namespace biu
00075 
00076 #include "LatticeMoveSet.icc"
00077 
00078 #endif /*LATTICEMOVESET_H_*/