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

biu::PullMoveSet Class Reference

#include <PullMoveSet.hh>

Inheritance diagram for biu::PullMoveSet:

Inheritance graph
[legend]

Detailed Description

This class handles pull moves on LatticeProtein objects.

Author:
Daniel Maticzka

Definition at line 16 of file PullMoveSet.hh.

Public Member Functions

virtual LatticeProteinapplyMove (const LatticeProtein *const todo, const size_t moveIndex)
virtual LatticeProteinapplyMoveInPlace (LatticeProtein *const todo, const size_t moveIndex)
PullMoveSetclone ()
virtual const PullMoveDecoder
*const 
getDecoder (void) const
size_t getMoveNumber (const LatticeProtein *const lp) const
PullMoveSetoperator= (const PullMoveSet &moveSet2)
 PullMoveSet (const PullMoveSet &moveSet)
 PullMoveSet (PullMoveDecoder *decoder, const bool decoderIsShared)
 PullMoveSet (const LatticeModel *lattice)
virtual LatticeProteinundoLastMove (LatticeProtein *toUndo)
virtual ~PullMoveSet ()

Protected Attributes

PullMoveSet::PullMoveDecoderdecoder
const bool decoderIsShared
const LatticeModellattice
biu::PullMoveSet::UndoRecord undoRec

Data Structures

class  PullMoveDecoder
class  RelativeInt
struct  UndoRecord


Constructor & Destructor Documentation

biu::PullMoveSet::PullMoveSet ( const LatticeModel lattice  ) 

Constructs a PullMoveSet object operating on the LatticeModel lattice.

Parameters:
lattice the lattice in use

Definition at line 181 of file PullMoveSet.cc.

biu::PullMoveSet::PullMoveSet ( PullMoveDecoder decoder,
const bool  decoderIsShared 
)

Constructs a PullMoveSet object operating lattice model represented by the provided decoder.

Parameters:
decoder the decoder to use
decoderIsShared whether or not the decoder is shared among all derived instances or has to be copied

Definition at line 189 of file PullMoveSet.cc.

biu::PullMoveSet::PullMoveSet ( const PullMoveSet moveSet  ) 

Definition at line 206 of file PullMoveSet.cc.

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

Definition at line 233 of file PullMoveSet.cc.


Member Function Documentation

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

Applies a pull 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.

Implements biu::LatticeMoveSet.

Definition at line 240 of file PullMoveSet.cc.

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

Applies a pull 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

Implements biu::LatticeMoveSet.

Definition at line 254 of file PullMoveSet.cc.

PullMoveSet * biu::PullMoveSet::clone (  )  [virtual]

Implements biu::LatticeMoveSet.

Definition at line 202 of file PullMoveSet.cc.

const PullMoveSet::PullMoveDecoder *const biu::PullMoveSet::getDecoder ( void   )  const [virtual]

Access to the used PullMoveDecoder.

Returns:
the current decode in use

Definition at line 518 of file PullMoveSet.cc.

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

Returns number of moves that can be applied to the given lattice.

Implements biu::LatticeMoveSet.

Definition at line 466 of file PullMoveSet.cc.

PullMoveSet & biu::PullMoveSet::operator= ( const PullMoveSet moveSet2  ) 

Definition at line 218 of file PullMoveSet.cc.

LatticeProtein * biu::PullMoveSet::undoLastMove ( LatticeProtein toUndo  )  [virtual]

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

Implements biu::LatticeMoveSet.

Definition at line 475 of file PullMoveSet.cc.


Field Documentation

the current pull move decoder in use

Definition at line 228 of file PullMoveSet.hh.

const bool biu::PullMoveSet::decoderIsShared [protected]

whether or not the decoder is shared and has to be copied or not

Definition at line 231 of file PullMoveSet.hh.

const LatticeModel* biu::LatticeMoveSet::lattice [protected, inherited]

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 files: