--- trunk/OOPSE/libmdtools/Integrator.hpp 2004/05/11 21:44:05 1161 +++ trunk/OOPSE/libmdtools/Integrator.hpp 2004/05/27 00:48:12 1198 @@ -13,6 +13,7 @@ #include "Thermo.hpp" #include "ReadWrite.hpp" #include "ZConsWriter.hpp" +#include "Restraints.hpp" using namespace std; const double kB = 8.31451e-7;// boltzmann constant amu*Ang^2*fs^-2/K @@ -486,64 +487,7 @@ template class ZConstraint : public T { (p ForceSubtractionPolicy* forcePolicy; //force subtraction policy friend class ForceSubtractionPolicy; - -}; - -/* -template class SingleZConstrain : public T{ - - -}; -*/ - -template class NonEquMD : public T { - public: - - - -}; - - -// -template class SingleZConstraint : public T{ - public: - SingleZConstraint(SimInfo *theInfo, ForceFields* the_ff); - ~SingleZConstraint(); - - bool stopIntegrator(); - - protected: - -}; -//Steered Molecular Dynamics, curret implement only support one steered molecule - template class SMD : public T{ - public: - SMD( SimInfo *theInfo, ForceFields* the_ff); - ~SMD(); - - virtual void integrate(); - virtual void calcForce( int calcPot, int calcStress ); - bool stopIntegrator(); - private: - }; -//By using state pattern, Coordinate Drive is responsible for switching back and forth between -//Driven Molecular Dynamics and ZConstraint Method. -template class CoordinateDriver : public T { - public: - typedef T ParentIntegrator; - - CoordinateDriver(SimInfo*, ForceFields*, BaseIntegrator*, BaseIntegrator*); - ~CoordinateDriver(); - - virtual void integrate(); - - private: - BaseIntegrator* zconsIntegrator; - BaseIntegrator* drivenIntegrator; - -}; - #endif