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

src/biu/ContactEnergyFunction.hh

Go to the documentation of this file.
00001 #ifndef CONTACTENERGYFUNCTION_H_
00002 #define CONTACTENERGYFUNCTION_H_
00003 
00004 
00005 #include "biu/Alphabet.hh"
00006 #include "biu/Matrix.hh"
00007 
00008 namespace biu
00009 {
00010 
00012     typedef biu::Matrix<double> EnergyMatrix;
00013 
00014 
00021     class ContactEnergyFunction
00022     {
00023     private:
00024     
00025         const Alphabet* const alphabet;
00026         const EnergyMatrix* const energyMat;
00027 
00028     public:
00029     
00041         ContactEnergyFunction(  const Alphabet* const alphabet, 
00042                                 const EnergyMatrix* const energyMat);
00043                                 
00044         virtual ~ContactEnergyFunction();
00045             
00049         virtual
00050         double getContactEnergy(    const Alphabet::AlphElem& first, 
00051                                     const Alphabet::AlphElem& second) const;
00052                                     
00054         virtual
00055         const Alphabet* const getAlphabet() const { 
00056             return alphabet; 
00057         }
00058         
00059         virtual
00060         bool operator == (const ContactEnergyFunction& cef2) const;
00061         virtual
00062         bool operator != (const ContactEnergyFunction& cef2) const;
00063         
00064     }; // class
00065 
00066 } // namespace biu
00067 
00068 #endif /*CONTACTENERGYFUNCTION_H_*/