# OESmirnoffCoulomb¶

Attention

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

class OESmirnoffCoulomb : public OEMolPotential::OEMolFunc2


The OESmirnoffCoulomb class defines electrostatics interactions using the functional form in the SMIRNOFF force field (see SMIRNOFF).

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 OESmirnoffCoulomb class defines the following public methods:

## Constructors¶

OESmirnoffCoulomb()
OESmirnoffCoulomb(const OESmirnoffCoulomb&)


Default and copy constructors.

## operator=¶

OESmirnoffCoulomb& operator=(const OESmirnoffCoulomb&)


The assignment operator.

## Set¶

bool Set(const OESystem::OEBinaryPredicate<OEChem::OEAtomBase, OEChem::OEAtomBase>&,
unsigned int flag = OEFuncType::Coulomb)
bool Set(const OESystem::OEUnaryPredicate<OEChem::OEAtomBase>&,unsigned int = OEFuncType::Coulomb)


These methods can be used for interaction-level control of the electrostatic term. The first method sets a binary predicate (OEBinaryPredicate) which checks if a pair of atoms should be included in the Coulomb interaction list for further calculation.

The second method provides a predicate (OEUnaryPredicate) which checks both atoms from the interaction pair. If predicate test returns true for both atoms, they are included in the Coulomb interaction list. The Set methods must be called before the Setup is called to be effective.