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_*/