1 #ifndef OPENMM_DENSITYFORCE_H_
2 #define OPENMM_DENSITYFORCE_H_
35 #include <openmm/Context.h>
36 #include <openmm/Force.h>
39 namespace ost {
namespace mol{
namespace mm{
64 void defineBody(
const std::vector<int>& indices);
66 const std::vector<int>&
getBody(
int idx)
const;
85 std::vector<Real> masses_;
86 std::vector<bool> in_body_;
87 std::vector<std::vector<int> > bodies_;
detail::quantity< detail::force_dimension > Force
void defineBody(const std::vector< int > &indices)
void updateParametersInContext(OpenMM::Context &context)
const std::vector< int > & getBody(int idx) const
int getNumParticles() const
Real getResolution() const
bool isInBody(int idx) const
void addParticle(Real mass)
Manage shared instances of images.
Real getParticleMass(int idx) const
void setScaling(Real scaling)
bool usesPeriodicBoundaryConditions() const
OpenMM::ForceImpl * createImpl() const
DensityForce(const ost::img::ImageHandle &d, Real r, Real s)
ost::img::ImageHandle getDensity() const