29 #ifndef CDPL_FORCEFIELD_MMFF94STRETCHBENDPARAMETERTABLE_HPP 
   30 #define CDPL_FORCEFIELD_MMFF94STRETCHBENDPARAMETERTABLE_HPP 
   35 #include <unordered_map> 
   39 #include <boost/iterator/transform_iterator.hpp> 
   57             typedef std::unordered_map<std::uint32_t, Entry> DataStorage;
 
   68                 Entry(
unsigned int sb_type_idx, 
unsigned int term_atom1_type, 
unsigned int ctr_atom_type,
 
   69                       unsigned int term_atom2_type, 
double ijk_force_const, 
double kji_force_const);
 
   86                 unsigned int sbTypeIdx;
 
   87                 unsigned int termAtom1Type;
 
   88                 unsigned int ctrAtomType;
 
   89                 unsigned int termAtom2Type;
 
   95             typedef boost::transform_iterator<std::function<
const Entry&(
const DataStorage::value_type&)>,
 
   96                                               DataStorage::const_iterator>
 
   99             typedef boost::transform_iterator<std::function<
Entry&(DataStorage::value_type&)>,
 
  100                                               DataStorage::iterator>
 
  105             void addEntry(
unsigned int sb_type_idx, 
unsigned int term_atom1_type, 
unsigned int ctr_atom_type,
 
  106                           unsigned int term_atom2_type, 
double ijk_force_const, 
double kji_force_const);
 
  108             const Entry& 
getEntry(
unsigned int sb_type_idx, 
unsigned int term_atom1_type, 
unsigned int ctr_atom_type,
 
  109                                   unsigned int term_atom2_type) 
const;
 
  115             bool removeEntry(
unsigned int sb_type_idx, 
unsigned int term_atom1_type, 
unsigned int ctr_atom_type,
 
  116                              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: MMFF94StretchBendParameterTable.hpp:63
 
Entry(unsigned int sb_type_idx, unsigned int term_atom1_type, unsigned int ctr_atom_type, unsigned int term_atom2_type, double ijk_force_const, double kji_force_const)
 
unsigned int getCenterAtomType() const
 
unsigned int getTerminalAtom2Type() const
 
unsigned int getStretchBendTypeIndex() const
 
unsigned int getTerminalAtom1Type() const
 
double getKJIForceConstant() const
 
double getIJKForceConstant() const
 
Definition: MMFF94StretchBendParameterTable.hpp:51
 
boost::transform_iterator< std::function< Entry &(DataStorage::value_type &)>, DataStorage::iterator > EntryIterator
Definition: MMFF94StretchBendParameterTable.hpp:101
 
EntryIterator getEntriesEnd()
 
ConstEntryIterator getEntriesEnd() const
 
ConstEntryIterator end() const
 
ConstEntryIterator begin() const
 
static const SharedPointer & get()
 
std::shared_ptr< MMFF94StretchBendParameterTable > SharedPointer
Definition: MMFF94StretchBendParameterTable.hpp:60
 
const Entry & getEntry(unsigned int sb_type_idx, unsigned int term_atom1_type, unsigned int ctr_atom_type, unsigned int term_atom2_type) const
 
MMFF94StretchBendParameterTable()
 
bool removeEntry(unsigned int sb_type_idx, unsigned int term_atom1_type, unsigned int ctr_atom_type, unsigned int term_atom2_type)
 
void addEntry(unsigned int sb_type_idx, unsigned int term_atom1_type, unsigned int ctr_atom_type, unsigned int term_atom2_type, double ijk_force_const, double kji_force_const)
 
EntryIterator removeEntry(const EntryIterator &it)
 
ConstEntryIterator getEntriesBegin() const
 
void load(std::istream &is)
 
static void set(const SharedPointer &table)
 
EntryIterator getEntriesBegin()
 
boost::transform_iterator< std::function< const Entry &(const DataStorage::value_type &)>, DataStorage::const_iterator > ConstEntryIterator
Definition: MMFF94StretchBendParameterTable.hpp:97
 
std::size_t getNumEntries() const
 
The namespace of the Chemical Data Processing Library.