1 #ifndef OPENMM_CUSTOMEXTERNALFORCEIMPL_H_
2 #define OPENMM_CUSTOMEXTERNALFORCEIMPL_H_
35 #include "ForceImpl.h"
36 #include "openmm/CustomExternalForce.h"
37 #include "openmm/Kernel.h"
This is the internal implementation of a Context.
Definition: ContextImpl.h:53
void updateParametersInContext(ContextImpl &context)
std::vector< std::string > getKernelNames()
Get the names of all Kernels used by this Force.
void initialize(ContextImpl &context)
This is called after the ForceImpl is created and before updateContextState(), calcForces(), or calcEnergy() is called on it.
This is the internal implementation of CustomExternalForce.
Definition: CustomExternalForceImpl.h:48
This class implements an "external" force on particles.
Definition: CustomExternalForce.h:75
std::map< std::string, double > getDefaultParameters()
Get a map containing the default values for all adjustable parameters defined by this ForceImpl...
const CustomExternalForce & getOwner() const
Get the Force object from which this ForceImpl was created.
Definition: CustomExternalForceImpl.h:53
~CustomExternalForceImpl()
double calcForcesAndEnergy(ContextImpl &context, bool includeForces, bool includeEnergy, int groups)
Calculate the force on each particle generated by this ForceImpl and/or this ForceImpl's contribution...
void updateContextState(ContextImpl &context)
This method is called at the beginning of each time step.
Definition: CustomExternalForceImpl.h:56
A Kernel encapsulates a particular implementation of a calculation that can be performed on the data ...
Definition: Kernel.h:58
A ForceImpl provides the internal implementation of a Force.
Definition: ForceImpl.h:57
CustomExternalForceImpl(const CustomExternalForce &owner)