29 #ifndef CDPL_FORCEFIELD_MMFF94DEFAULTSTRETCHBENDPARAMETERTABLE_HPP
30 #define CDPL_FORCEFIELD_MMFF94DEFAULTSTRETCHBENDPARAMETERTABLE_HPP
35 #include <unordered_map>
39 #include <boost/iterator/transform_iterator.hpp>
57 typedef std::unordered_map<std::uint32_t, Entry> DataStorage;
60 typedef std::shared_ptr<MMFF94DefaultStretchBendParameterTable>
SharedPointer;
68 Entry(
unsigned int term_atom1_pte_row,
unsigned int ctr_atom_pte_row,
69 unsigned int term_atom2_pte_row,
double ijk_force_const,
double kji_force_const);
84 unsigned int termAtom1PTERow;
85 unsigned int ctrAtomPTERow;
86 unsigned int termAtom2PTERow;
92 typedef boost::transform_iterator<std::function<
const Entry&(
const DataStorage::value_type&)>,
93 DataStorage::const_iterator>
96 typedef boost::transform_iterator<std::function<
Entry&(DataStorage::value_type&)>,
97 DataStorage::iterator>
102 void addEntry(
unsigned int term_atom1_pte_row,
unsigned int ctr_atom_pte_row,
103 unsigned int term_atom2_pte_row,
double ijk_force_const,
double kji_force_const);
105 const Entry&
getEntry(
unsigned int term_atom1_pte_row,
unsigned int ctr_atom_pte_row,
106 unsigned int term_atom2_pte_row)
const;
112 bool removeEntry(
unsigned int term_atom1_pte_row,
unsigned int ctr_atom_pte_row,
113 unsigned int term_atom2_pte_row);
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: MMFF94DefaultStretchBendParameterTable.hpp:63
double getKJIForceConstant() const
Entry(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)
unsigned int getTerminalAtom2PTERow() const
unsigned int getTerminalAtom1PTERow() const
unsigned int getCenterAtomPTERow() const
double getIJKForceConstant() const
Definition: MMFF94DefaultStretchBendParameterTable.hpp:51
std::size_t getNumEntries() const
ConstEntryIterator end() const
static void set(const SharedPointer &table)
const Entry & getEntry(unsigned int term_atom1_pte_row, unsigned int ctr_atom_pte_row, unsigned int term_atom2_pte_row) const
void load(std::istream &is)
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)
MMFF94DefaultStretchBendParameterTable()
std::shared_ptr< MMFF94DefaultStretchBendParameterTable > SharedPointer
Definition: MMFF94DefaultStretchBendParameterTable.hpp:60
ConstEntryIterator getEntriesEnd() const
ConstEntryIterator begin() const
static const SharedPointer & get()
bool removeEntry(unsigned int term_atom1_pte_row, unsigned int ctr_atom_pte_row, unsigned int term_atom2_pte_row)
EntryIterator getEntriesEnd()
EntryIterator removeEntry(const EntryIterator &it)
EntryIterator getEntriesBegin()
ConstEntryIterator getEntriesBegin() const
boost::transform_iterator< std::function< const Entry &(const DataStorage::value_type &)>, DataStorage::const_iterator > ConstEntryIterator
Definition: MMFF94DefaultStretchBendParameterTable.hpp:94
boost::transform_iterator< std::function< Entry &(DataStorage::value_type &)>, DataStorage::iterator > EntryIterator
Definition: MMFF94DefaultStretchBendParameterTable.hpp:98
The namespace of the Chemical Data Processing Library.