29 #ifndef CDPL_FORCEFIELD_MMFF94TORSIONPARAMETERTABLE_HPP
30 #define CDPL_FORCEFIELD_MMFF94TORSIONPARAMETERTABLE_HPP
35 #include <unordered_map>
39 #include <boost/iterator/transform_iterator.hpp>
57 typedef std::unordered_map<std::uint64_t, Entry> DataStorage;
68 Entry(
unsigned int tor_type_idx,
unsigned int term_atom1_type,
unsigned int ctr_atom1_type,
unsigned int ctr_atom2_type,
69 unsigned int term_atom2_type,
double tor_param1,
double tor_param2,
double tor_param3);
90 unsigned int torTypeIdx;
91 unsigned int termAtom1Type;
92 unsigned int ctrAtom1Type;
93 unsigned int ctrAtom2Type;
94 unsigned int termAtom2Type;
101 typedef boost::transform_iterator<std::function<
const Entry&(
const DataStorage::value_type&)>,
102 DataStorage::const_iterator>
105 typedef boost::transform_iterator<std::function<
Entry&(DataStorage::value_type&)>,
106 DataStorage::iterator>
111 void addEntry(
unsigned int tor_type_idx,
unsigned int term_atom1_type,
unsigned int ctr_atom1_type,
unsigned int ctr_atom2_type,
112 unsigned int term_atom2_type,
double tor_param1,
double tor_param2,
double tor_param3);
114 const Entry&
getEntry(
unsigned int tor_type_idx,
unsigned int term_atom1_type,
unsigned int ctr_atom1_type,
unsigned int ctr_atom2_type,
115 unsigned int term_atom2_type)
const;
121 bool removeEntry(
unsigned int tor_type_idx,
unsigned int term_atom1_type,
unsigned int ctr_atom1_type,
unsigned int ctr_atom2_type,
122 unsigned int term_atom2_type);
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: MMFF94TorsionParameterTable.hpp:63
double getTorsionParameter3() const
double getTorsionParameter1() const
Entry(unsigned int tor_type_idx, unsigned int term_atom1_type, unsigned int ctr_atom1_type, unsigned int ctr_atom2_type, unsigned int term_atom2_type, double tor_param1, double tor_param2, double tor_param3)
unsigned int getCenterAtom1Type() const
unsigned int getTerminalAtom2Type() const
double getTorsionParameter2() const
unsigned int getTerminalAtom1Type() const
unsigned int getTorsionTypeIndex() const
unsigned int getCenterAtom2Type() const
Definition: MMFF94TorsionParameterTable.hpp:51
bool removeEntry(unsigned int tor_type_idx, unsigned int term_atom1_type, unsigned int ctr_atom1_type, unsigned int ctr_atom2_type, unsigned int term_atom2_type)
std::shared_ptr< MMFF94TorsionParameterTable > SharedPointer
Definition: MMFF94TorsionParameterTable.hpp:60
boost::transform_iterator< std::function< const Entry &(const DataStorage::value_type &)>, DataStorage::const_iterator > ConstEntryIterator
Definition: MMFF94TorsionParameterTable.hpp:103
void load(std::istream &is)
EntryIterator getEntriesEnd()
ConstEntryIterator begin() const
ConstEntryIterator end() const
const Entry & getEntry(unsigned int tor_type_idx, unsigned int term_atom1_type, unsigned int ctr_atom1_type, unsigned int ctr_atom2_type, unsigned int term_atom2_type) const
boost::transform_iterator< std::function< Entry &(DataStorage::value_type &)>, DataStorage::iterator > EntryIterator
Definition: MMFF94TorsionParameterTable.hpp:107
static void set(const SharedPointer &table, unsigned int param_set)
void loadDefaults(unsigned int param_set)
EntryIterator removeEntry(const EntryIterator &it)
MMFF94TorsionParameterTable()
ConstEntryIterator getEntriesBegin() const
EntryIterator getEntriesBegin()
static const SharedPointer & get(unsigned int param_set)
void addEntry(unsigned int tor_type_idx, unsigned int term_atom1_type, unsigned int ctr_atom1_type, unsigned int ctr_atom2_type, unsigned int term_atom2_type, double tor_param1, double tor_param2, double tor_param3)
std::size_t getNumEntries() const
ConstEntryIterator getEntriesEnd() const
The namespace of the Chemical Data Processing Library.