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

Data structure for the storage and lookup of MMFF94 angle-bending interaction parameters. More...

#include <MMFF94AngleBendingParameterTable.hpp>

Classes

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

Public Types

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

 MMFF94AngleBendingParameterTable ()
 Constructs an empty MMFF94AngleBendingParameterTable instance. More...
 
void addEntry (unsigned int angle_type_idx, unsigned int term_atom1_type, unsigned int ctr_atom_type, unsigned int term_atom2_type, double force_const, double ref_angle)
 Adds a new (or overwrites an existing) entry for the given query and parameter values. More...
 
const Entry & getEntry (unsigned int angle_type_idx, unsigned int term_atom1_type, unsigned int ctr_atom_type, unsigned int term_atom2_type) 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 angle_type_idx, unsigned int term_atom1_type, unsigned int ctr_atom_type, unsigned int term_atom2_type)
 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 angle-bending parameter entries. More...
 

Static Public Member Functions

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

Detailed Description

Data structure for the storage and lookup of MMFF94 angle-bending interaction parameters.

See also
[MMFF94]

Member Typedef Documentation

◆ SharedPointer

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

◆ ConstEntryIterator

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

A mutable iterator over the entries of the table.

Constructor & Destructor Documentation

◆ MMFF94AngleBendingParameterTable()

CDPL::ForceField::MMFF94AngleBendingParameterTable::MMFF94AngleBendingParameterTable ( )

Constructs an empty MMFF94AngleBendingParameterTable instance.

Member Function Documentation

◆ addEntry()

void CDPL::ForceField::MMFF94AngleBendingParameterTable::addEntry ( unsigned int  angle_type_idx,
unsigned int  term_atom1_type,
unsigned int  ctr_atom_type,
unsigned int  term_atom2_type,
double  force_const,
double  ref_angle 
)

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

Parameters
angle_type_idxThe MMFF94 angle type index.
term_atom1_typeThe numeric MMFF94 atom type of the first terminal atom.
ctr_atom_typeThe numeric MMFF94 atom type of the center atom.
term_atom2_typeThe numeric MMFF94 atom type of the second terminal atom.
force_constThe angle-bending force constant.
ref_angleThe reference bond angle.

◆ getEntry()

const Entry& CDPL::ForceField::MMFF94AngleBendingParameterTable::getEntry ( unsigned int  angle_type_idx,
unsigned int  term_atom1_type,
unsigned int  ctr_atom_type,
unsigned int  term_atom2_type 
) const

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

Parameters
angle_type_idxThe MMFF94 angle type index.
term_atom1_typeThe numeric MMFF94 atom type of the first terminal atom.
ctr_atom_typeThe numeric MMFF94 atom type of the 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 if no matching entry exists.

◆ getNumEntries()

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

Returns the number of entries in the table.

Returns
The entry count.

◆ clear()

void CDPL::ForceField::MMFF94AngleBendingParameterTable::clear ( )

Removes all entries from the table.

◆ removeEntry() [1/2]

bool CDPL::ForceField::MMFF94AngleBendingParameterTable::removeEntry ( unsigned int  angle_type_idx,
unsigned int  term_atom1_type,
unsigned int  ctr_atom_type,
unsigned int  term_atom2_type 
)

Removes the entry matching the specified query values.

Parameters
angle_type_idxThe MMFF94 angle type index.
term_atom1_typeThe numeric MMFF94 atom type of the first terminal atom.
ctr_atom_typeThe numeric MMFF94 atom type of the 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::MMFF94AngleBendingParameterTable::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::MMFF94AngleBendingParameterTable::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::MMFF94AngleBendingParameterTable::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::MMFF94AngleBendingParameterTable::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::MMFF94AngleBendingParameterTable::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::MMFF94AngleBendingParameterTable::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::MMFF94AngleBendingParameterTable::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::MMFF94AngleBendingParameterTable::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::MMFF94AngleBendingParameterTable::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::MMFF94AngleBendingParameterTable::load ( std::istream &  is)

Loads table entries from the input stream is.

Parameters
isThe input stream to read from.

◆ loadDefaults()

void CDPL::ForceField::MMFF94AngleBendingParameterTable::loadDefaults ( )

Loads the built-in default MMFF94 angle-bending parameter entries.

◆ set()

static void CDPL::ForceField::MMFF94AngleBendingParameterTable::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::MMFF94AngleBendingParameterTable::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: