src/biu/LatticeProtein_I.hh
Go to the documentation of this file.00001 #ifndef LATTICEPROTEIN_I_HH_ 00002 #define LATTICEPROTEIN_I_HH_ 00003 00004 #include "LatticeProtein.hh" 00005 00006 namespace biu 00007 { 00013 class LatticeProtein_I : public biu::LatticeProtein 00014 { 00015 00016 protected: 00018 LatticeModel const * lattice; 00019 00021 DistanceEnergyFunction const * energyFunc; 00022 00024 Sequence const * sequence; 00025 00027 bool seqShared; 00028 00029 public: 00030 00045 LatticeProtein_I(const LatticeModel* lattice, 00046 const DistanceEnergyFunction* energyFunc, 00047 const Sequence* seq, 00048 const bool seqShared); 00049 00050 LatticeProtein_I(const LatticeProtein_I& toCopy); 00051 00052 virtual LatticeProtein_I* clone() = 0; 00053 virtual LatticeProtein_I* fromString(const std::string& stringRep) const = 0; 00054 00055 00058 virtual ~LatticeProtein_I(); 00059 00060 // additional functions 00061 00066 virtual const IPointVec* const getPointsRef() const = 0; 00067 00073 virtual IPointVec* getPointsRef() = 0; 00074 00078 virtual void setMoveStrAbs(const std::string& moveString) = 0; 00079 00080 // abstract function implementation (LatticeProtein) 00081 00083 virtual const LatticeModel* getLatticeModel() const; 00084 00086 virtual const DistanceEnergyFunction* getEnergyFunction() const; 00087 00090 virtual bool isSequenceShared() const; 00091 00093 virtual const Sequence* getSequenceRef() const; 00094 00095 // abstract function implementation (BioMolecule) 00096 00097 Sequence getSequence() const; 00098 00101 size_t getLength() const; 00102 00103 virtual LatticeProtein_I& operator= (const LatticeProtein_I& latProt2); 00104 00105 }; 00106 00107 } 00108 00109 #endif /*LATTICEPROTEIN_I_HH_*/