1 #ifndef OPENMM_STATE_H_
2 #define OPENMM_STATE_H_
38 #include "internal/windowsExport.h"
59 enum DataType {Positions=1, Velocities=2, Forces=4, Energy=8, Parameters=16};
67 double getTime()
const;
71 const std::vector<Vec3>& getPositions()
const;
75 const std::vector<Vec3>& getVelocities()
const;
79 const std::vector<Vec3>& getForces()
const;
88 double getKineticEnergy()
const;
92 double getPotentialEnergy()
const;
100 void getPeriodicBoxVectors(
Vec3& a,
Vec3& b,
Vec3& c)
const;
104 const std::map<std::string, double>& getParameters()
const;
107 State(
double time,
int numParticles,
int types);
108 std::vector<Vec3>& updPositions();
109 std::vector<Vec3>& updVelocities();
110 std::vector<Vec3>& updForces();
111 std::map<std::string, double>& updParameters();
112 void setEnergy(
double ke,
double pe);
113 void setPeriodicBoxVectors(
const Vec3& a,
const Vec3& b,
const Vec3& c);
116 std::vector<Vec3> positions;
117 std::vector<Vec3> velocities;
118 std::vector<Vec3> forces;
119 Vec3 periodicBoxVectors[3];
120 std::map<std::string, double> parameters;