src/biu/LatticeProtein.hh
Go to the documentation of this file.00001 #ifndef LATTICEPROTEIN_H_ 00002 #define LATTICEPROTEIN_H_ 00003 00004 00005 #include "BackboneStructure3D.hh" 00006 #include "BioMolecule.hh" 00007 #include "LatticeModel.hh" 00008 #include "ContactEnergyFunction.hh" 00009 00010 namespace biu 00011 { 00026 class LatticeProtein : public BioMolecule, public BackboneStructure3D 00027 { 00028 public: 00030 LatticeProtein() 00031 {} 00032 00034 virtual ~LatticeProtein() 00035 {} 00036 00037 // additional abstract functions in LatticeProtein 00038 00039 virtual bool operator== (const LatticeProtein& latProt2) const = 0; 00040 virtual bool operator!= (const LatticeProtein& latProt2) const = 0; 00041 00042 00045 virtual std::string getMoveStrAbs() const = 0; 00046 00049 virtual std::string getMoveStrRel() const = 0; 00050 00053 virtual MoveSequence getMoveSeqAbs() const = 0; 00054 00057 virtual MoveSequence getMoveSeqRel() const = 0; 00058 00061 virtual IPointVec getPoints() const = 0; 00062 00064 virtual bool isSelfAvoiding() const = 0; 00065 00068 virtual bool isConnected() const = 0; 00069 00071 virtual const LatticeModel* getLatticeModel() const = 0; 00072 00074 virtual const ContactEnergyFunction* getContactEnergyFunction() const = 0; 00075 00078 virtual bool isSequenceShared() const = 0; 00079 00084 virtual const Sequence* getSequenceRef() const = 0; 00085 00086 }; 00087 00088 } // namespace biu 00089 00090 #endif /*LATTICEPROTEIN_H_*/