Chemical Data Processing Library C++ API - Version 1.4.0
Public Member Functions | List of all members
CDPL::ForceField::MMFF94EnergyCalculator< ValueType > Class Template Reference

Calculates the total MMFF94 force field energy for a set of atom 3D coordinates. More...

#include <MMFF94EnergyCalculator.hpp>

Public Member Functions

 MMFF94EnergyCalculator ()
 Constructs the calculator without an associated ForceField::MMFF94InteractionData instance. More...
 
 MMFF94EnergyCalculator (const MMFF94InteractionData &ia_data)
 Constructs the calculator and associates it with the supplied ForceField::MMFF94InteractionData instance. More...
 
void setEnabledInteractionTypes (unsigned int types)
 Enables/disables specific MMFF94 interaction-type contributions. More...
 
unsigned int getEnabledInteractionTypes () const
 Returns the currently enabled interaction-type contributions. More...
 
void setup (const MMFF94InteractionData &ia_data)
 Associates the calculator with the supplied ForceField::MMFF94InteractionData instance. More...
 
template<typename CoordsArray >
const ValueType & operator() (const CoordsArray &coords)
 Computes the total MMFF94 energy of the conformation specified by coords. More...
 
const ValueType & getTotalEnergy () const
 Returns the total MMFF94 energy computed by the most recent operator()() call. More...
 
const ValueType & getBondStretchingEnergy () const
 Returns the bond-stretching energy contribution computed by the most recent operator()() call. More...
 
const ValueType & getAngleBendingEnergy () const
 Returns the angle-bending energy contribution computed by the most recent operator()() call. More...
 
const ValueType & getStretchBendEnergy () const
 Returns the stretch-bend coupling energy contribution computed by the most recent operator()() call. More...
 
const ValueType & getOutOfPlaneBendingEnergy () const
 Returns the out-of-plane bending energy contribution computed by the most recent operator()() call. More...
 
const ValueType & getTorsionEnergy () const
 Returns the torsion energy contribution computed by the most recent operator()() call. More...
 
const ValueType & getElectrostaticEnergy () const
 Returns the electrostatic energy contribution computed by the most recent operator()() call. More...
 
const ValueType & getVanDerWaalsEnergy () const
 Returns the Van der Waals energy contribution computed by the most recent operator()() call. More...
 

Detailed Description

template<typename ValueType>
class CDPL::ForceField::MMFF94EnergyCalculator< ValueType >

Calculates the total MMFF94 force field energy for a set of atom 3D coordinates.

The calculator takes a ForceField::MMFF94InteractionData instance (typically produced by ForceField::MMFF94InteractionParameterizer) and computes the bond-stretching, angle-bending, stretch-bend, out-of-plane bending, torsion, electrostatic and Van der Waals energy contributions for a supplied set of atom 3D coordinates. The per-component energies are retained and made available via the dedicated accessors, the calculated sum is returned by operator()() and getTotalEnergy().

Template Parameters
ValueTypeThe floating-point value type used to represent the computed energies.

Constructor & Destructor Documentation

◆ MMFF94EnergyCalculator() [1/2]

template<typename ValueType >
CDPL::ForceField::MMFF94EnergyCalculator< ValueType >::MMFF94EnergyCalculator ( )

Constructs the calculator without an associated ForceField::MMFF94InteractionData instance.

operator()() will return zero until setup() has been called.

◆ MMFF94EnergyCalculator() [2/2]

template<typename ValueType >
CDPL::ForceField::MMFF94EnergyCalculator< ValueType >::MMFF94EnergyCalculator ( const MMFF94InteractionData ia_data)

Constructs the calculator and associates it with the supplied ForceField::MMFF94InteractionData instance.

Parameters
ia_dataThe MMFF94 interaction data to use for energy calculation.

Member Function Documentation

◆ setEnabledInteractionTypes()

template<typename ValueType >
void CDPL::ForceField::MMFF94EnergyCalculator< ValueType >::setEnabledInteractionTypes ( unsigned int  types)

Enables/disables specific MMFF94 interaction-type contributions.

Parameters
typesBitwise-OR combination of ForceField::InteractionType flags.
Note
Only enabled contributions are evaluated.

◆ getEnabledInteractionTypes()

template<typename ValueType >
unsigned int CDPL::ForceField::MMFF94EnergyCalculator< ValueType >::getEnabledInteractionTypes ( ) const

Returns the currently enabled interaction-type contributions.

Returns
The bitwise-OR combination of ForceField::InteractionType flags.

◆ setup()

template<typename ValueType >
void CDPL::ForceField::MMFF94EnergyCalculator< ValueType >::setup ( const MMFF94InteractionData ia_data)

Associates the calculator with the supplied ForceField::MMFF94InteractionData instance.

Parameters
ia_dataThe new MMFF94 interaction data to use for energy calculation.

◆ operator()()

template<typename ValueType >
template<typename CoordsArray >
const ValueType& CDPL::ForceField::MMFF94EnergyCalculator< ValueType >::operator() ( const CoordsArray &  coords)

Computes the total MMFF94 energy of the conformation specified by coords.

The per-component energies are stored internally and can be retrieved via the dedicated accessors.

Template Parameters
CoordsArrayThe atom coordinate array type.
Parameters
coordsThe atom 3D coordinates.
Returns
A const reference to the computed total energy.

◆ getTotalEnergy()

template<typename ValueType >
const ValueType& CDPL::ForceField::MMFF94EnergyCalculator< ValueType >::getTotalEnergy ( ) const

Returns the total MMFF94 energy computed by the most recent operator()() call.

Returns
A const reference to the total energy.

◆ getBondStretchingEnergy()

template<typename ValueType >
const ValueType& CDPL::ForceField::MMFF94EnergyCalculator< ValueType >::getBondStretchingEnergy ( ) const

Returns the bond-stretching energy contribution computed by the most recent operator()() call.

Returns
A const reference to the bond-stretching energy.

◆ getAngleBendingEnergy()

template<typename ValueType >
const ValueType& CDPL::ForceField::MMFF94EnergyCalculator< ValueType >::getAngleBendingEnergy ( ) const

Returns the angle-bending energy contribution computed by the most recent operator()() call.

Returns
A const reference to the angle-bending energy.

◆ getStretchBendEnergy()

template<typename ValueType >
const ValueType& CDPL::ForceField::MMFF94EnergyCalculator< ValueType >::getStretchBendEnergy ( ) const

Returns the stretch-bend coupling energy contribution computed by the most recent operator()() call.

Returns
A const reference to the stretch-bend energy.

◆ getOutOfPlaneBendingEnergy()

template<typename ValueType >
const ValueType& CDPL::ForceField::MMFF94EnergyCalculator< ValueType >::getOutOfPlaneBendingEnergy ( ) const

Returns the out-of-plane bending energy contribution computed by the most recent operator()() call.

Returns
A const reference to the out-of-plane bending energy.

◆ getTorsionEnergy()

template<typename ValueType >
const ValueType& CDPL::ForceField::MMFF94EnergyCalculator< ValueType >::getTorsionEnergy ( ) const

Returns the torsion energy contribution computed by the most recent operator()() call.

Returns
A const reference to the torsion energy.

◆ getElectrostaticEnergy()

template<typename ValueType >
const ValueType& CDPL::ForceField::MMFF94EnergyCalculator< ValueType >::getElectrostaticEnergy ( ) const

Returns the electrostatic energy contribution computed by the most recent operator()() call.

Returns
A const reference to the electrostatic energy.

◆ getVanDerWaalsEnergy()

template<typename ValueType >
const ValueType& CDPL::ForceField::MMFF94EnergyCalculator< ValueType >::getVanDerWaalsEnergy ( ) const

Returns the Van der Waals energy contribution computed by the most recent operator()() call.

Returns
A const reference to the Van der Waals energy.

The documentation for this class was generated from the following file: