1 #ifndef OPENMM_CUSTOMCOMPOUNDBONDFORCEIMPL_H_
2 #define OPENMM_CUSTOMCOMPOUNDBONDFORCEIMPL_H_
35 #include "ForceImpl.h"
36 #include "openmm/CustomCompoundBondForce.h"
37 #include "openmm/Kernel.h"
38 #include "lepton/CustomFunction.h"
39 #include "lepton/ExpressionTreeNode.h"
40 #include "lepton/ParsedExpression.h"
62 double calcForcesAndEnergy(
ContextImpl& context,
bool includeForces,
bool includeEnergy,
int groups);
63 std::map<std::string, double> getDefaultParameters();
64 std::vector<std::string> getKernelNames();
65 void updateParametersInContext(
ContextImpl& context);
80 static Lepton::ParsedExpression prepareExpression(
const CustomCompoundBondForce& force,
const std::map<std::string, Lepton::CustomFunction*>& functions, std::map<std::string, std::vector<int> >& distances,
81 std::map<std::string, std::vector<int> >& angles, std::map<std::string, std::vector<int> >& dihedrals);
83 class FunctionPlaceholder;
84 static Lepton::ExpressionTreeNode replaceFunctions(
const Lepton::ExpressionTreeNode& node, std::map<std::string, int> atoms,
85 std::map<std::string, std::vector<int> >& distances, std::map<std::string, std::vector<int> >& angles,
86 std::map<std::string, std::vector<int> >& dihedrals);
This is the internal implementation of a Context.
Definition: ContextImpl.h:53
void updateContextState(ContextImpl &context)
This method is called at the beginning of each time step.
Definition: CustomCompoundBondForceImpl.h:59
This is the internal implementation of CustomCompoundBondForce.
Definition: CustomCompoundBondForceImpl.h:51
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
This class supports a wide variety of bonded interactions.
Definition: CustomCompoundBondForce.h:98
const CustomCompoundBondForce & getOwner() const
Get the Force object from which this ForceImpl was created.
Definition: CustomCompoundBondForceImpl.h:56