29 #ifndef CDPL_FORCEFIELD_MMFF94VANDERWAALSPARAMETERTABLE_HPP
30 #define CDPL_FORCEFIELD_MMFF94VANDERWAALSPARAMETERTABLE_HPP
34 #include <unordered_map>
38 #include <boost/iterator/transform_iterator.hpp>
64 typedef std::unordered_map<unsigned int, Entry> DataStorage;
93 Entry(
unsigned int atom_type,
double atom_pol,
double eff_el_num,
double fact_a,
double fact_g,
139 unsigned int atomType;
140 double polarizability;
149 typedef boost::transform_iterator<std::function<
const Entry&(
const DataStorage::value_type&)>,
150 DataStorage::const_iterator>
154 typedef boost::transform_iterator<std::function<
Entry&(DataStorage::value_type&)>,
155 DataStorage::iterator>
172 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:51
A single per-atom-type Van der Waals parameter record.
Definition: MMFF94VanDerWaalsParameterTable.hpp:76
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 for the numeric MMFF94 atom type atom_type.
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.
Lookup table mapping numeric MMFF94 atom types to per-atom-type Van der Waals parameters (atomic pola...
Definition: MMFF94VanDerWaalsParameterTable.hpp:58
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:156
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:151
MMFF94VanDerWaalsInteraction::HDonorAcceptorType HDonorAcceptorType
Alias for the H-donor/-acceptor classification enum defined on MMFF94VanDerWaalsInteraction.
Definition: MMFF94VanDerWaalsParameterTable.hpp:70
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 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:68
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 (or overwrites) the entry for the numeric MMFF94 atom type atom_type.
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.