/* * Woodcock.hpp * * Created on: Aug 20, 2010 * Author: crueger */ #ifndef WOODCOCK_HPP_ #define WOODCOCK_HPP_ // include config.h #ifdef HAVE_CONFIG_H #include #endif #include "Thermostats/Thermostat.hpp" class Woodcock : public Thermostat { public: Woodcock(int); Woodcock(); virtual ~Woodcock(); virtual double scaleAtoms(unsigned int step,double ActualTemp,ATOMSET(std::list) atoms); virtual double scaleAtoms(unsigned int step,double ActualTemp,ATOMSET(std::vector) atoms); virtual double scaleAtoms(unsigned int step,double ActualTemp,ATOMSET(std::set) atoms); virtual std::string name(); virtual std::string writeParams(); private: template double doScaleAtoms(unsigned int step,double ActualTemp,ForwardIterator begin,ForwardIterator end); int ScaleTempStep; }; template <> struct ThermostatTraits : public ThermostatTraits { virtual Thermostat *make(class ConfigFileBuffer * const fb); virtual std::string getName(); static const char* name; }; #endif /* WOODCOCK_HPP_ */