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::MMFF94DefaultStretchBendParameterTable Class Reference

Data structure for the storage and lookup of MMFF94 stretch-bend interaction fallback parameters. More...

#include <MMFF94DefaultStretchBendParameterTable.hpp>

Classes

class  Entry
 Data structure for the storage of values associated with a single table entry. More...
 

Public Types

typedef std::shared_ptr< MMFF94DefaultStretchBendParameterTableSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated MMFF94DefaultStretchBendParameterTable 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

 MMFF94DefaultStretchBendParameterTable ()
 Constructs an empty MMFF94DefaultStretchBendParameterTable instance. More...
 
void addEntry (unsigned int term_atom1_pte_row, unsigned int ctr_atom_pte_row, unsigned int term_atom2_pte_row, double ijk_force_const, double kji_force_const)
 Adds a new (or overwrites an existing) entry for the given query and parameter values. More...
 
const EntrygetEntry (unsigned int term_atom1_pte_row, unsigned int ctr_atom_pte_row, unsigned int term_atom2_pte_row) const
 Returns a reference to the entry matching the specified query values. 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 term_atom1_pte_row, unsigned int ctr_atom_pte_row, unsigned int term_atom2_pte_row)
 Removes the entry matching the specified query values. 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 ()
 Loads the built-in default MMFF94 stretch-bend fallback parameter entries. More...
 

Static Public Member Functions

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

Detailed Description

Data structure for the storage and lookup of MMFF94 stretch-bend interaction fallback parameters.

The PTE row of an atom is the row index in the periodic table of the elements. Two directional force constants are stored per entry (IJK and KJI) — see ForceFIeld::MMFF94StretchBendParameterTable for the coupling semantics.

See also
[MMFF94]

Member Typedef Documentation

◆ SharedPointer

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

◆ ConstEntryIterator

typedef boost::transform_iterator<std::function<const Entry&(const DataStorage::value_type&)>, DataStorage::const_iterator> CDPL::ForceField::MMFF94DefaultStretchBendParameterTable::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::MMFF94DefaultStretchBendParameterTable::EntryIterator

A mutable iterator over the entries of the table.

Constructor & Destructor Documentation

◆ MMFF94DefaultStretchBendParameterTable()

CDPL::ForceField::MMFF94DefaultStretchBendParameterTable::MMFF94DefaultStretchBendParameterTable ( )

Constructs an empty MMFF94DefaultStretchBendParameterTable instance.

Member Function Documentation

◆ addEntry()

void CDPL::ForceField::MMFF94DefaultStretchBendParameterTable::addEntry ( unsigned int  term_atom1_pte_row,
unsigned int  ctr_atom_pte_row,
unsigned int  term_atom2_pte_row,
double  ijk_force_const,
double  kji_force_const 
)

Adds a new (or overwrites an existing) entry for the given query and parameter values.

Parameters
term_atom1_pte_rowThe PTE row of the first terminal atom.
ctr_atom_pte_rowThe PTE row of the center atom.
term_atom2_pte_rowThe PTE row of the second terminal atom.
ijk_force_constThe IJK stretch-bend force constant.
kji_force_constThe KJI stretch-bend force constant.

◆ getEntry()

const Entry& CDPL::ForceField::MMFF94DefaultStretchBendParameterTable::getEntry ( unsigned int  term_atom1_pte_row,
unsigned int  ctr_atom_pte_row,
unsigned int  term_atom2_pte_row 
) const

Returns a reference to the entry matching the specified query values.

Parameters
term_atom1_pte_rowThe PTE row of the first terminal atom.
ctr_atom_pte_rowThe PTE row of the center atom.
term_atom2_pte_rowThe PTE row of the second terminal atom.
Returns
A const reference to the matching entry or to an uninitialized entry if no matching entry exists.

◆ getNumEntries()

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

Returns the number of entries in the table.

Returns
The entry count.

◆ clear()

void CDPL::ForceField::MMFF94DefaultStretchBendParameterTable::clear ( )

Removes all entries from the table.

◆ removeEntry() [1/2]

bool CDPL::ForceField::MMFF94DefaultStretchBendParameterTable::removeEntry ( unsigned int  term_atom1_pte_row,
unsigned int  ctr_atom_pte_row,
unsigned int  term_atom2_pte_row 
)

Removes the entry matching the specified query values.

Parameters
term_atom1_pte_rowThe PTE row of the first terminal atom.
ctr_atom_pte_rowThe PTE row of the center atom.
term_atom2_pte_rowThe PTE row 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::MMFF94DefaultStretchBendParameterTable::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::MMFF94DefaultStretchBendParameterTable::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::MMFF94DefaultStretchBendParameterTable::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::MMFF94DefaultStretchBendParameterTable::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::MMFF94DefaultStretchBendParameterTable::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::MMFF94DefaultStretchBendParameterTable::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::MMFF94DefaultStretchBendParameterTable::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::MMFF94DefaultStretchBendParameterTable::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::MMFF94DefaultStretchBendParameterTable::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::MMFF94DefaultStretchBendParameterTable::load ( std::istream &  is)

Loads table entries from the input stream is.

Parameters
isThe input stream to read from.

◆ loadDefaults()

void CDPL::ForceField::MMFF94DefaultStretchBendParameterTable::loadDefaults ( )

Loads the built-in default MMFF94 stretch-bend fallback parameter entries.

◆ set()

static void CDPL::ForceField::MMFF94DefaultStretchBendParameterTable::set ( const SharedPointer table)
static

Replaces the process-wide default table by table.

Parameters
tableThe new default table (nullptr resets to the built-in default).

◆ get()

static const SharedPointer& CDPL::ForceField::MMFF94DefaultStretchBendParameterTable::get ( )
static

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

Returns
A shared pointer to the default table.

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