Generated on Tue Dec 16 12:50:05 2008 for BIU-2.2.0 by doxygen 1.5.1

biu::LatticeMoveSet Class Reference

#include <LatticeMoveSet.hh>

Inheritance diagram for biu::LatticeMoveSet:

Inheritance graph
[legend]

Detailed Description

This class provides an interface for move set implementation to define the neighborhood in the energy landscape of LatticeProtein objects.

An object of this class is able to generate a neighbored LatticeProtein by applying one of its moves.

Author:
Martin Mann, Sebastian Will, Andreas Richter

Definition at line 20 of file LatticeMoveSet.hh.

Public Member Functions

virtual LatticeProteinapplyMove (const LatticeProtein *const todo, size_t moveIndex)=0
virtual LatticeProteinapplyMoveInPlace (LatticeProtein *const todo, size_t moveIndex)=0
virtual LatticeMoveSetclone ()=0
virtual size_t getMoveNumber (const LatticeProtein *const lp) const=0
 LatticeMoveSet (const LatticeModel *lattice)
virtual LatticeProteinundoLastMove (LatticeProtein *toUndo)=0
virtual ~LatticeMoveSet ()

Protected Attributes

const LatticeModellattice


Constructor & Destructor Documentation

biu::LatticeMoveSet::LatticeMoveSet ( const LatticeModel lattice  ) 

Constructs a LatticeMoveSet on a given lattice model.

Parameters:
lattice has to be != NULL

virtual biu::LatticeMoveSet::~LatticeMoveSet (  )  [virtual]


Member Function Documentation

virtual LatticeProtein* biu::LatticeMoveSet::applyMove ( const LatticeProtein *const   todo,
size_t  moveIndex 
) [pure virtual]

Applies a special move to the given LatticeProtein on the specified position and returns a new LatticeProtein object as result.

Parameters:
todo the initial state
moveIndex the move index (has to be less than the return value of getMoveNumber())
Returns:
a new LatticeProtein object neighbored to the todo object
In case of invalid moves, the behaviour of the program is not specified.

Implemented in biu::PivotMoveSet, and biu::PullMoveSet.

virtual LatticeProtein* biu::LatticeMoveSet::applyMoveInPlace ( LatticeProtein *const  todo,
size_t  moveIndex 
) [pure virtual]

Applies a special move to the given LatticeProtein on the specified position INPLACE and returns the modified object as result.

Parameters:
todo the initial state to modify
moveIndex the move index (has to be less than the return value of getMoveNumber())
Returns:
the modified LatticeProtein or NULL if the move is not valid.

Implemented in biu::PivotMoveSet, and biu::PullMoveSet.

virtual LatticeMoveSet* biu::LatticeMoveSet::clone (  )  [pure virtual]

Implemented in biu::PivotMoveSet, and biu::PullMoveSet.

virtual size_t biu::LatticeMoveSet::getMoveNumber ( const LatticeProtein *const   lp  )  const [pure virtual]

Returns the number of available moves by this MoveSet.

Implemented in biu::PivotMoveSet, and biu::PullMoveSet.

virtual LatticeProtein* biu::LatticeMoveSet::undoLastMove ( LatticeProtein toUndo  )  [pure virtual]

Undo of last move performed on LatticeProtein toUndo. Undo is performed in place!

Implemented in biu::PivotMoveSet, and biu::PullMoveSet.


Field Documentation

the lattice model this move set bases on

Definition at line 24 of file LatticeMoveSet.hh.


The documentation for this class was generated from the following file: