# OEMMFFTorsion¶

Attention

This API is currently available in C++ and Python.

class OEMMFFTorsion : public OEMolPotential::OEMolFunc2


The OEMMFFTorsion class defines torsion interaction function using the functional forms used in MMFF94 force field. The function can be initialized with parameters defined in MMFF94 (OEMMFFParams) or MMFF94s (OEMMFF94sParams) force field, or a different set of user defined parameters (OEFFParams) during construction.

The following methods are publicly inherited from OEFunc0:
The following methods are publicly inherited from OEFunc1:
The following methods are publicly inherited from OEFunc2:
The following methods are publicly inherited from OEMolFunc:
The OEMMFFTorsion class defines the following public methods:

## Constructors¶

OEMMFFTorsion(const OEMMFFTorsion &)
OEMMFFTorsion(const OEMolPotential::OEFFParams &)


Default and copy constructors.

Construct an OEMMFFTorsion instance using the specified set of parameters.

## operator=¶

OEMMFFTorsion &operator=(const OEMMFFTorsion &)


The assignment operator.

## Set¶

bool Set(const OESystem::OEBinaryPredicate<OEChem::OEAtomBase, OEChem::OEAtomBase>&)
bool Set(const OESystem::OEBinaryPredicate<OEChem::OEBondBase, OEChem::OEBondBase>&)


These methods provide interaction-level control of the torsion terms. The first method is used to test all four atoms of a torsion. If all of them return true from the predicate test, then the torsion is included in the list of interactions to be calculated. The second method is used to test the central bond of a torsion angle. If such a bond returns true from the predicate test then all torsions that cross the bond are included in the list of interactions to be calculated. Both the Set methods must be called before the Setup for it to be effective.