Generated on Mon Jun 23 16:25:37 2008 for BIU-1.7.0 by doxygen 1.5.1

biu::IntervalEnergyFunction Class Reference

#include <DistanceEnergyFunction.hh>

Inheritance diagram for biu::IntervalEnergyFunction:

Inheritance graph
[legend]

Detailed Description

An distance based energy function that does a discretised energy evaluation. For each distance interval a fixed energy table is used.

Author:
Martin Mann

Definition at line 64 of file DistanceEnergyFunction.hh.

Public Member Functions

virtual size_t addInterval (const biu::EnergyMatrix &energies, const double upperBound)
virtual const Alphabet *const getAlphabet () const
virtual double getEnergy (const Alphabet::AlphElem &first, const Alphabet::AlphElem &second, const double distance) const
virtual size_t getInterval (double distance) const
virtual const biu::EnergyMatrix
*const 
getIntervalMatrix (const size_t index) const
virtual double getIntervalMax (const size_t index) const
virtual size_t getIntervalNum (void) const
 IntervalEnergyFunction (const IntervalEnergyFunction &toCopy)
 IntervalEnergyFunction (const Alphabet *const alphabet)
bool operator!= (const DistanceEnergyFunction &cef2) const
bool operator== (const DistanceEnergyFunction &cef2) const
virtual ~IntervalEnergyFunction ()

Protected Attributes

const Alphabet *const alphabet
std::vector< const biu::EnergyMatrix * > energyMat
std::vector< double > intervalMax


Constructor & Destructor Documentation

biu::IntervalEnergyFunction::IntervalEnergyFunction ( const Alphabet *const  alphabet  ) 

Creates and initialises a new distance interval energy function.

Parameters:
alphabet the alphabet the energy function supports

Definition at line 18 of file DistanceEnergyFunction.cc.

biu::IntervalEnergyFunction::IntervalEnergyFunction ( const IntervalEnergyFunction toCopy  ) 

Copy construction

Parameters:
toCopy the object to copy

Definition at line 27 of file DistanceEnergyFunction.cc.

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

Definition at line 41 of file DistanceEnergyFunction.cc.


Member Function Documentation

size_t biu::IntervalEnergyFunction::addInterval ( const biu::EnergyMatrix energies,
const double  upperBound 
) [virtual]

Adds a contact energy matrix to the energy function that is used for distance values that are greater than the upper bound of the last added interval and smaller or equal to the given upperBound.

Parameters:
energies the contact energy matrices to use for this interval NOTE: has to have the same dimensions as the used alphabet has elements!
upperBound the upper distance bound of this interval. NOTE: Has to be at higher than last upper bound so far!
Returns:
the index of this interval, i.e. the last interval index

Definition at line 97 of file DistanceEnergyFunction.cc.

const Alphabet *const biu::IntervalEnergyFunction::getAlphabet (  )  const [virtual]

Access to the alphabet this energy function is based on.

Returns:
the alphabet in use

Implements biu::DistanceEnergyFunction.

Definition at line 53 of file DistanceEnergyFunction.cc.

double biu::IntervalEnergyFunction::getEnergy ( const Alphabet::AlphElem first,
const Alphabet::AlphElem second,
const double  distance 
) const [virtual]

Returns the contact energy of two elements of the alphabet.

Parameters:
first,second have to be elements of the specified alphabet.
distance the distance of the two monomers to evaluate (has to be greater or equal to zero)
Returns:
the distance based energy contribution

Implements biu::DistanceEnergyFunction.

Definition at line 59 of file DistanceEnergyFunction.cc.

size_t biu::IntervalEnergyFunction::getInterval ( double  distance  )  const [virtual]

Access to the interval index of a given distance.

Parameters:
distance the distance to check the interval for
Returns:
the interval index the distance falls into OR UINT_MAX if the distance is higher than the highest distance handled

Definition at line 132 of file DistanceEnergyFunction.cc.

const biu::EnergyMatrix *const biu::IntervalEnergyFunction::getIntervalMatrix ( const size_t  index  )  const [virtual]

Access to the energy table used for the given interval.

Parameters:
index the index of the interval of intrest (has to be less than getIntervalNum())
Returns:
the energy table of the specified interval

Definition at line 126 of file DistanceEnergyFunction.cc.

double biu::IntervalEnergyFunction::getIntervalMax ( const size_t  index  )  const [virtual]

Access to the upper interval bound.

Parameters:
index the index of the interval of intrest (has to be less than getIntervalNum())
Returns:
the upper bound of the specified interval

Definition at line 120 of file DistanceEnergyFunction.cc.

size_t biu::IntervalEnergyFunction::getIntervalNum ( void   )  const [virtual]

Access to the number of intervals in use.

Returns:
the number of intervals

Definition at line 115 of file DistanceEnergyFunction.cc.

bool biu::IntervalEnergyFunction::operator!= ( const DistanceEnergyFunction cef2  )  const [virtual]

Implements biu::DistanceEnergyFunction.

Definition at line 91 of file DistanceEnergyFunction.cc.

bool biu::IntervalEnergyFunction::operator== ( const DistanceEnergyFunction cef2  )  const [virtual]

Implements biu::DistanceEnergyFunction.

Definition at line 69 of file DistanceEnergyFunction.cc.


Field Documentation

Definition at line 69 of file DistanceEnergyFunction.hh.

Contains the energy matrices in use for each interval.

Definition at line 72 of file DistanceEnergyFunction.hh.

std::vector< double > biu::IntervalEnergyFunction::intervalMax [protected]

Definition at line 74 of file DistanceEnergyFunction.hh.


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