class TabulatedFunction

A TabulatedFunction uses a set of tabulated values to define a mathematical function. It can be used by various custom forces.

TabulatedFunction is an abstract class with concrete subclasses for more specific types of functions. There are subclasses for:

  • 1, 2, and 3 dimensional functions. The dimensionality of a function means the number of input arguments it takes.

  • Continuous and discrete functions. A continuous function is interpolated by fitting a natural cubic spline to the tabulated values. A discrete function is only defined for integer values of its arguments (that is, at the tabulated points), and does not try to interpolate between them. Discrete function can be evaluated more quickly than continuous ones.

Subclassed by OpenMM::Continuous1DFunction, OpenMM::Continuous2DFunction, OpenMM::Continuous3DFunction, OpenMM::Discrete1DFunction, OpenMM::Discrete2DFunction, OpenMM::Discrete3DFunction

Public Functions

virtual TabulatedFunction *Copy() const = 0


This will be removed in a future release.

bool getPeriodic() const

Get the periodicity status of the tabulated function.

int getUpdateCount() const

Get the value of a counter that is updated every time setFunctionParameters() is called. This provides a fast way to detect when a function has changed.