--- branches/mmeineke/OOPSE/libmdtools/Atom.hpp 2003/03/21 17:42:12 377 +++ trunk/OOPSE/libmdtools/Atom.hpp 2004/04/12 20:32:20 1097 @@ -1,147 +1,38 @@ #ifndef _ATOM_H_ #define _ATOM_H_ -#include -#include +#include +#include #include -class Atom{ +#include "SimState.hpp" +#include "StuntDouble.hpp" + +class Atom : public StuntDouble { public: - Atom(int theIndex) { - c_n_hyd = 0; - has_dipole = 0; - is_VDW = 0; - is_LJ = 0; - index = theIndex; - offset = 3 * index; - offsetX = offset; - offsetY = offset+1; - offsetZ = offset+2; + Atom(int theIndex, SimState* theConfig ); + virtual ~Atom() {} - Axx = index*9; - Axy = Axx+1; - Axz = Axx+2; - - Ayx = Axx+3; - Ayy = Axx+4; - Ayz = Axx+5; + virtual void setCoords(void); - Azx = Axx+6; - Azy = Axx+7; - Azz = Axx+8; - } - virtual ~Atom() {} + void getPos( double theP[3] ); + void setPos( double theP[3] ); - static void createArrays (int nElements) { - int i; - - pos = new double[nElements*3]; - vel = new double[nElements*3]; - frc = new double[nElements*3]; - trq = new double[nElements*3]; - Amat = new double[nElements*9]; - mu = new double[nElements]; - ul = new double[nElements*3]; + void getVel( double theV[3] ); + void setVel( double theV[3] ); - // init directional values to zero - - for( i=0; i