Chemical Data Processing Library C++ API - Version 1.4.0
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
CDPL::ForceField::MMFF94TorsionParameterTable Class Reference

Lookup table mapping (torsion type, terminal-atom-1 type, center-atom-1 type, center-atom-2 type, terminal-atom-2 type) quintuples to the three MMFF94 torsion-energy Fourier-series parameters (V1, V2, V3). More...

#include <MMFF94TorsionParameterTable.hpp>

Classes

class  Entry
 A single torsion parameter record. More...
 

Public Types

typedef std::shared_ptr< MMFF94TorsionParameterTableSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated MMFF94TorsionParameterTable instances. More...
 
typedef boost::transform_iterator< std::function< const Entry &(const DataStorage::value_type &)>, DataStorage::const_iterator > ConstEntryIterator
 A constant iterator over the entries of the table. More...
 
typedef boost::transform_iterator< std::function< Entry &(DataStorage::value_type &)>, DataStorage::iterator > EntryIterator
 A mutable iterator over the entries of the table. More...
 

Public Member Functions

 MMFF94TorsionParameterTable ()
 Constructs an empty MMFF94TorsionParameterTable instance. More...
 
void addEntry (unsigned int tor_type_idx, unsigned int term_atom1_type, unsigned int ctr_atom1_type, unsigned int ctr_atom2_type, unsigned int term_atom2_type, double tor_param1, double tor_param2, double tor_param3)
 Adds (or overwrites) the entry for the given (torsion type, terminal-atom 1, center-atom 1, center-atom 2, terminal-atom 2) quintuple. More...
 
const EntrygetEntry (unsigned int tor_type_idx, unsigned int term_atom1_type, unsigned int ctr_atom1_type, unsigned int ctr_atom2_type, unsigned int term_atom2_type) const
 Returns the entry for the given (torsion type, terminal-atom 1, center-atom 1, center-atom 2, terminal-atom 2) quintuple. More...
 
std::size_t getNumEntries () const
 Returns the number of entries in the table. More...
 
void clear ()
 Removes all entries from the table. More...
 
bool removeEntry (unsigned int tor_type_idx, unsigned int term_atom1_type, unsigned int ctr_atom1_type, unsigned int ctr_atom2_type, unsigned int term_atom2_type)
 Removes the entry for the given (torsion type, terminal-atom 1, center-atom 1, center-atom 2, terminal-atom 2) quintuple. More...
 
EntryIterator removeEntry (const EntryIterator &it)
 Removes the entry pointed to by the iterator it. More...
 
ConstEntryIterator getEntriesBegin () const
 Returns a constant iterator pointing to the beginning of the entry list. More...
 
ConstEntryIterator getEntriesEnd () const
 Returns a constant iterator pointing one past the last entry. More...
 
EntryIterator getEntriesBegin ()
 Returns a mutable iterator pointing to the beginning of the entry list. More...
 
EntryIterator getEntriesEnd ()
 Returns a mutable iterator pointing one past the last entry. More...
 
ConstEntryIterator begin () const
 Returns a constant iterator pointing to the beginning of the entry list (alias of getEntriesBegin()). More...
 
ConstEntryIterator end () const
 Returns a constant iterator pointing one past the last entry (alias of getEntriesEnd()). More...
 
EntryIterator begin ()
 Returns a mutable iterator pointing to the beginning of the entry list (alias of getEntriesBegin()). More...
 
EntryIterator end ()
 Returns a mutable iterator pointing one past the last entry (alias of getEntriesEnd()). More...
 
void load (std::istream &is)
 Loads table entries from the input stream is. More...
 
void loadDefaults (unsigned int param_set)
 Loads the built-in default torsion parameter entries for the specified MMFF94 parameter set. More...
 

Static Public Member Functions

static void set (const SharedPointer &table, unsigned int param_set)
 Replaces the process-wide default table for param_set by table. More...
 
static const SharedPointerget (unsigned int param_set)
 Returns the process-wide default table for param_set (lazily initialized on first call). More...
 

Detailed Description

Lookup table mapping (torsion type, terminal-atom-1 type, center-atom-1 type, center-atom-2 type, terminal-atom-2 type) quintuples to the three MMFF94 torsion-energy Fourier-series parameters (V1, V2, V3).

The table maintains separate process-wide defaults per MMFF94 parameter set (see Util::MMFF94ParameterSet).

Member Typedef Documentation

◆ SharedPointer

A reference-counted smart pointer [SHPTR] for dynamically allocated MMFF94TorsionParameterTable instances.

◆ ConstEntryIterator

typedef boost::transform_iterator<std::function<const Entry&(const DataStorage::value_type&)>, DataStorage::const_iterator> CDPL::ForceField::MMFF94TorsionParameterTable::ConstEntryIterator

A constant iterator over the entries of the table.

◆ EntryIterator

typedef boost::transform_iterator<std::function<Entry&(DataStorage::value_type&)>, DataStorage::iterator> CDPL::ForceField::MMFF94TorsionParameterTable::EntryIterator

A mutable iterator over the entries of the table.

Constructor & Destructor Documentation

◆ MMFF94TorsionParameterTable()

CDPL::ForceField::MMFF94TorsionParameterTable::MMFF94TorsionParameterTable ( )

Constructs an empty MMFF94TorsionParameterTable instance.

Member Function Documentation

◆ addEntry()

void CDPL::ForceField::MMFF94TorsionParameterTable::addEntry ( unsigned int  tor_type_idx,
unsigned int  term_atom1_type,
unsigned int  ctr_atom1_type,
unsigned int  ctr_atom2_type,
unsigned int  term_atom2_type,
double  tor_param1,
double  tor_param2,
double  tor_param3 
)

Adds (or overwrites) the entry for the given (torsion type, terminal-atom 1, center-atom 1, center-atom 2, terminal-atom 2) quintuple.

Parameters
tor_type_idxThe MMFF94 torsion type index.
term_atom1_typeThe numeric MMFF94 atom type of the first terminal atom.
ctr_atom1_typeThe numeric MMFF94 atom type of the first center atom.
ctr_atom2_typeThe numeric MMFF94 atom type of the second center atom.
term_atom2_typeThe numeric MMFF94 atom type of the second terminal atom.
tor_param1The torsion-energy parameter V1.
tor_param2The torsion-energy parameter V2.
tor_param3The torsion-energy parameter V3.

◆ getEntry()

const Entry& CDPL::ForceField::MMFF94TorsionParameterTable::getEntry ( unsigned int  tor_type_idx,
unsigned int  term_atom1_type,
unsigned int  ctr_atom1_type,
unsigned int  ctr_atom2_type,
unsigned int  term_atom2_type 
) const

Returns the entry for the given (torsion type, terminal-atom 1, center-atom 1, center-atom 2, terminal-atom 2) quintuple.

Parameters
tor_type_idxThe MMFF94 torsion type index.
term_atom1_typeThe numeric MMFF94 atom type of the first terminal atom.
ctr_atom1_typeThe numeric MMFF94 atom type of the first center atom.
ctr_atom2_typeThe numeric MMFF94 atom type of the second center atom.
term_atom2_typeThe numeric MMFF94 atom type of the second terminal atom.
Returns
A const reference to the matching entry, or to an uninitialized entry (whose operator bool() returns false) if no match exists.

◆ getNumEntries()

std::size_t CDPL::ForceField::MMFF94TorsionParameterTable::getNumEntries ( ) const

Returns the number of entries in the table.

Returns
The entry count.

◆ clear()

void CDPL::ForceField::MMFF94TorsionParameterTable::clear ( )

Removes all entries from the table.

◆ removeEntry() [1/2]

bool CDPL::ForceField::MMFF94TorsionParameterTable::removeEntry ( unsigned int  tor_type_idx,
unsigned int  term_atom1_type,
unsigned int  ctr_atom1_type,
unsigned int  ctr_atom2_type,
unsigned int  term_atom2_type 
)

Removes the entry for the given (torsion type, terminal-atom 1, center-atom 1, center-atom 2, terminal-atom 2) quintuple.

Parameters
tor_type_idxThe MMFF94 torsion type index.
term_atom1_typeThe numeric MMFF94 atom type of the first terminal atom.
ctr_atom1_typeThe numeric MMFF94 atom type of the first center atom.
ctr_atom2_typeThe numeric MMFF94 atom type of the second center atom.
term_atom2_typeThe numeric MMFF94 atom type of the second terminal atom.
Returns
true if a matching entry was removed, and false if no such entry existed.

◆ removeEntry() [2/2]

EntryIterator CDPL::ForceField::MMFF94TorsionParameterTable::removeEntry ( const EntryIterator it)

Removes the entry pointed to by the iterator it.

Parameters
itAn iterator pointing to the entry to remove.
Returns
An iterator pointing to the entry immediately following the removed one.

◆ getEntriesBegin() [1/2]

ConstEntryIterator CDPL::ForceField::MMFF94TorsionParameterTable::getEntriesBegin ( ) const

Returns a constant iterator pointing to the beginning of the entry list.

Returns
A constant iterator to the first entry.

◆ getEntriesEnd() [1/2]

ConstEntryIterator CDPL::ForceField::MMFF94TorsionParameterTable::getEntriesEnd ( ) const

Returns a constant iterator pointing one past the last entry.

Returns
A constant iterator to the end of the entry list.

◆ getEntriesBegin() [2/2]

EntryIterator CDPL::ForceField::MMFF94TorsionParameterTable::getEntriesBegin ( )

Returns a mutable iterator pointing to the beginning of the entry list.

Returns
A mutable iterator to the first entry.

◆ getEntriesEnd() [2/2]

EntryIterator CDPL::ForceField::MMFF94TorsionParameterTable::getEntriesEnd ( )

Returns a mutable iterator pointing one past the last entry.

Returns
A mutable iterator to the end of the entry list.

◆ begin() [1/2]

ConstEntryIterator CDPL::ForceField::MMFF94TorsionParameterTable::begin ( ) const

Returns a constant iterator pointing to the beginning of the entry list (alias of getEntriesBegin()).

Returns
A constant iterator to the first entry.

◆ end() [1/2]

ConstEntryIterator CDPL::ForceField::MMFF94TorsionParameterTable::end ( ) const

Returns a constant iterator pointing one past the last entry (alias of getEntriesEnd()).

Returns
A constant iterator to the end of the entry list.

◆ begin() [2/2]

EntryIterator CDPL::ForceField::MMFF94TorsionParameterTable::begin ( )

Returns a mutable iterator pointing to the beginning of the entry list (alias of getEntriesBegin()).

Returns
A mutable iterator to the first entry.

◆ end() [2/2]

EntryIterator CDPL::ForceField::MMFF94TorsionParameterTable::end ( )

Returns a mutable iterator pointing one past the last entry (alias of getEntriesEnd()).

Returns
A mutable iterator to the end of the entry list.

◆ load()

void CDPL::ForceField::MMFF94TorsionParameterTable::load ( std::istream &  is)

Loads table entries from the input stream is.

Parameters
isThe input stream to read from.

◆ loadDefaults()

void CDPL::ForceField::MMFF94TorsionParameterTable::loadDefaults ( unsigned int  param_set)

Loads the built-in default torsion parameter entries for the specified MMFF94 parameter set.

Parameters
param_setThe Util::MMFF94ParameterSet identifier selecting which built-in defaults to load.

◆ set()

static void CDPL::ForceField::MMFF94TorsionParameterTable::set ( const SharedPointer table,
unsigned int  param_set 
)
static

Replaces the process-wide default table for param_set by table.

Parameters
tableThe new default table (a nullptr resets to the built-in default).
param_setThe Util::MMFF94ParameterSet identifier selecting which default slot to replace.

◆ get()

static const SharedPointer& CDPL::ForceField::MMFF94TorsionParameterTable::get ( unsigned int  param_set)
static

Returns the process-wide default table for param_set (lazily initialized on first call).

Parameters
param_setThe Util::MMFF94ParameterSet identifier selecting which default slot to return.
Returns
A const reference to the selected default-table shared pointer.

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