--- trunk/OOPSE/libmdtools/Integrator.hpp 2003/07/15 03:27:24 605 +++ trunk/OOPSE/libmdtools/Integrator.hpp 2003/07/22 19:54:52 645 @@ -16,8 +16,9 @@ class Integrator : public BaseIntegrator { const int maxIteration = 300; const double tol = 1.0e-6; -class Integrator : public BaseIntegrator { +template class Integrator : public T { + public: Integrator( SimInfo *theInfo, ForceFields* the_ff ); virtual ~Integrator(); @@ -70,18 +71,18 @@ class NVE : public Integrator{ }; -class NVE : public Integrator{ +typedef Integrator RealIntegrator; +template class NVE : public T { + public: NVE ( SimInfo *theInfo, ForceFields* the_ff ): - Integrator( theInfo, the_ff ){} - virtual ~NVE(){} - - - + T( theInfo, the_ff ){} + virtual ~NVE(){} }; -class NVT : public Integrator{ + +template class NVT : public T { public: @@ -112,8 +113,9 @@ class NPTi : public Integrator{ }; -class NPTi : public Integrator{ +template class NPTi : public T{ + public: NPTi ( SimInfo *theInfo, ForceFields* the_ff); @@ -121,7 +123,7 @@ class NPTi : public Integrator{ (public) virtual void integrateStep( int calcPot, int calcStress ){ calcStress = 1; - Integrator::integrateStep( calcPot, calcStress ); + T::integrateStep( calcPot, calcStress ); } void setTauThermostat(double tt) {tauThermostat = tt; have_tau_thermostat=1;} @@ -155,7 +157,7 @@ class NPTim : public Integrator{ }; -class NPTim : public Integrator{ +template class NPTim : public T{ public: @@ -164,7 +166,7 @@ class NPTim : public Integrator{ (public) virtual void integrateStep( int calcPot, int calcStress ){ calcStress = 1; - Integrator::integrateStep( calcPot, calcStress ); + T::integrateStep( calcPot, calcStress ); } void setTauThermostat(double tt) {tauThermostat = tt; have_tau_thermostat=1;} @@ -201,7 +203,7 @@ class NPTf : public Integrator{ }; -class NPTf : public Integrator{ +template class NPTf : public T{ public: @@ -210,7 +212,7 @@ class NPTf : public Integrator{ (public) virtual void integrateStep( int calcPot, int calcStress ){ calcStress = 1; - Integrator::integrateStep( calcPot, calcStress ); + T::integrateStep( calcPot, calcStress ); } void setTauThermostat(double tt) {tauThermostat = tt; have_tau_thermostat=1;} @@ -244,7 +246,7 @@ class NPTfm : public Integrator{ }; -class NPTfm : public Integrator{ +template class NPTfm : public T{ public: @@ -253,7 +255,7 @@ class NPTfm : public Integrator{ (public) virtual void integrateStep( int calcPot, int calcStress ){ calcStress = 1; - Integrator::integrateStep( calcPot, calcStress ); + T::integrateStep( calcPot, calcStress ); } void setTauThermostat(double tt) {tauThermostat = tt; have_tau_thermostat=1;}