29 #ifndef CDPL_FORCEFIELD_MMFF94VANDERWAALSPARAMETERTABLE_HPP
30 #define CDPL_FORCEFIELD_MMFF94VANDERWAALSPARAMETERTABLE_HPP
34 #include <unordered_map>
38 #include <boost/iterator/transform_iterator.hpp>
65 typedef std::unordered_map<unsigned int, Entry> DataStorage;
99 Entry(
unsigned int atom_type,
double atom_pol,
double eff_el_num,
double fact_a,
double fact_g,
145 unsigned int atomType;
146 double polarizability;
157 typedef boost::transform_iterator<std::function<
const Entry&(
const DataStorage::value_type&)>,
158 DataStorage::const_iterator>
164 typedef boost::transform_iterator<std::function<
Entry&(DataStorage::value_type&)>,
165 DataStorage::iterator>
182 void addEntry(
unsigned int atom_type,
double atom_pol,
double eff_el_num,
double fact_a,
double fact_g,
Definition of the preprocessor macro CDPL_FORCEFIELD_API.
#define CDPL_FORCEFIELD_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Definition of class CDPL::ForceField::MMFF94VanDerWaalsInteraction.
HDonorAcceptorType
MMFF94 hydrogen-bond donor/acceptor classification of an atom.
Definition: MMFF94VanDerWaalsInteraction.hpp:54
Data structure for the storage of values associated with a single table entry.
Definition: MMFF94VanDerWaalsParameterTable.hpp:82
double getAtomicPolarizability() const
Returns the atomic polarizability parameter.
Entry()
Constructs an empty (uninitialized) Entry instance.
Entry(unsigned int atom_type, double atom_pol, double eff_el_num, double fact_a, double fact_g, HDonorAcceptorType don_acc_type)
Constructs an Entry instance storing the given values.
HDonorAcceptorType getHDonorAcceptorType() const
Returns the H-donor/-acceptor classification associated with the numeric MMFF94 atom type.
double getFactorG() const
Returns the scaling factor G parameter.
double getFactorA() const
Returns the scaling factor A parameter.
unsigned int getAtomType() const
Returns the numeric MMFF94 atom type of the entry.
double getEffectiveElectronNumber() const
Returns the Slater-Kirkwood effective number of valence electrons parameter.
Data structure for the storage and lookup of MMFF94 interaction parameters.
Definition: MMFF94VanDerWaalsParameterTable.hpp:59
static void set(const SharedPointer &table)
Replaces the process-wide default table by table.
EntryIterator removeEntry(const EntryIterator &it)
Removes the entry pointed to by the iterator it.
boost::transform_iterator< std::function< Entry &(DataStorage::value_type &)>, DataStorage::iterator > EntryIterator
A mutable iterator over the entries of the table.
Definition: MMFF94VanDerWaalsParameterTable.hpp:166
double getFactorB() const
Returns the value of the B factor used in the calculation of Van der Waals interaction energies.
MMFF94VanDerWaalsParameterTable()
Constructs an empty MMFF94VanDerWaalsParameterTable instance.
static const SharedPointer & get()
Returns the process-wide default table (lazily initialized on first call).
double getFactorDARAD() const
Returns the value of the DARAD factor used in the calculation of Van der Waals interaction energies.
boost::transform_iterator< std::function< const Entry &(const DataStorage::value_type &)>, DataStorage::const_iterator > ConstEntryIterator
A constant iterator over the entries of the table.
Definition: MMFF94VanDerWaalsParameterTable.hpp:159
MMFF94VanDerWaalsInteraction::HDonorAcceptorType HDonorAcceptorType
Alias for the H-donor/-acceptor classification enum defined on MMFF94VanDerWaalsInteraction.
Definition: MMFF94VanDerWaalsParameterTable.hpp:76
const Entry & getEntry(unsigned int atom_type) const
Returns the entry for the numeric MMFF94 atom type atom_type.
void setFactorDAEPS(double value)
Sets the global DAEPS factor used in the buffered 14-7 Van der Waals energy expression.
void setBeta(double value)
Sets the global beta value used in the buffered 14-7 Van der Waals energy expression.
void loadDefaults()
Loads the built-in default MMFF94 Van der Waals parameter entries and global scalar parameters.
ConstEntryIterator getEntriesEnd() const
Returns a constant iterator pointing one past the last entry.
void setFactorDARAD(double value)
Sets the global DARAD factor used in the buffered 14-7 Van der Waals energy expression.
void load(std::istream &is)
Loads table entries from the input stream is.
double getBeta() const
Returns the value of beta used in the calculation of Van der Waals interaction energies.
void clear()
Removes all entries from the table.
EntryIterator getEntriesBegin()
Returns a mutable iterator pointing to the beginning of the entry list.
ConstEntryIterator end() const
Returns a constant iterator pointing one past the last entry (alias of getEntriesEnd()).
std::shared_ptr< MMFF94VanDerWaalsParameterTable > SharedPointer
A reference-counted smart pointer [SHPTR] for dynamically allocated MMFF94VanDerWaalsParameterTable i...
Definition: MMFF94VanDerWaalsParameterTable.hpp:71
double getFactorDAEPS() const
Returns the value of the DAEPS factor used in the calculation of Van der Waals interaction energies.
EntryIterator begin()
Returns a mutable iterator pointing to the beginning of the entry list (alias of getEntriesBegin()).
EntryIterator end()
Returns a mutable iterator pointing one past the last entry (alias of getEntriesEnd()).
ConstEntryIterator getEntriesBegin() const
Returns a constant iterator pointing to the beginning of the entry list.
void addEntry(unsigned int atom_type, double atom_pol, double eff_el_num, double fact_a, double fact_g, HDonorAcceptorType don_acc_type)
Adds a new (or overwrites an existing) entry for the numeric MMFF94 atom type atom_type that stores t...
void setFactorB(double value)
Sets the global B factor used in the buffered 14-7 Van der Waals energy expression.
EntryIterator getEntriesEnd()
Returns a mutable iterator pointing one past the last entry.
double getExponent() const
Returns the exponent used in the calculation of Van der Waals interaction energies.
bool removeEntry(unsigned int atom_type)
Removes the entry for the numeric MMFF94 atom type atom_type.
ConstEntryIterator begin() const
Returns a constant iterator pointing to the beginning of the entry list (alias of getEntriesBegin()).
void setExponent(double value)
Sets the global exponent used in the buffered 14-7 Van der Waals energy expression.
std::size_t getNumEntries() const
Returns the number of entries in the table.
The namespace of the Chemical Data Processing Library.