29 #ifndef CDPL_FORCEFIELD_MMFF94BONDSTRETCHINGINTERACTIONPARAMETERIZER_HPP
30 #define CDPL_FORCEFIELD_MMFF94BONDSTRETCHINGINTERACTIONPARAMETERIZER_HPP
68 typedef std::shared_ptr<MMFF94BondStretchingInteractionParameterizer>
SharedPointer;
149 unsigned int& bond_type_idx,
double& force_const,
double& ref_length,
bool strict)
const;
155 unsigned int bond_type_idx,
unsigned int atom1_type,
unsigned int atom2_type,
156 double& force_const,
double& ref_length)
const;
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.
Type declaration of generic wrapper class types for storing user-defined interaction filtering predic...
Definition of class CDPL::ForceField::MMFF94AtomTypePropertyTable.
Declaration of type CDPL::ForceField::MMFF94BondStretchingInteractionList.
Definition of class CDPL::ForceField::MMFF94BondStretchingParameterTable.
Definition of class CDPL::ForceField::MMFF94BondStretchingRuleParameterTable.
Type declaration of generic wrapper classes for storing user-defined functions for the retrieval of M...
Abstract base class representing a chemical bond between two Chem::Atom instances.
Definition: Bond.hpp:54
Abstract base class for representations of a chemical structure as a graph of bonded atoms.
Definition: MolecularGraph.hpp:57
A single atom-type property record.
Definition: MMFF94AtomTypePropertyTable.hpp:74
std::shared_ptr< MMFF94AtomTypePropertyTable > SharedPointer
A reference-counted smart pointer [SHPTR] for dynamically allocated MMFF94AtomTypePropertyTable insta...
Definition: MMFF94AtomTypePropertyTable.hpp:68
Detects and parameterizes the MMFF94 bond-stretching interactions of a molecular graph.
Definition: MMFF94BondStretchingInteractionParameterizer.hpp:64
void setBondTypeIndexFunction(const MMFF94BondTypeIndexFunction &func)
Sets the function used to look up the MMFF94 bond type index of a bond.
void parameterize(const Chem::MolecularGraph &molgraph, MMFF94BondStretchingInteractionList &ia_list, bool strict)
Perceives the MMFF94 bond-stretching interactions for molgraph and outputs the corresponding paramete...
MMFF94BondStretchingInteractionParameterizer()
Constructs an MMFF94BondStretchingInteractionParameterizer instance using the default MMFF94 paramete...
void setBondStretchingRuleParameterTable(const MMFF94BondStretchingRuleParameterTable::SharedPointer &table)
Sets the fallback table providing rule-based bond-stretching parameters.
void setAtomTypePropertyTable(const MMFF94AtomTypePropertyTable::SharedPointer &table)
Sets the table providing MMFF94 numeric atom type property data (used by the empirical fallback).
MMFF94BondStretchingInteractionParameterizer(const Chem::MolecularGraph &molgraph, MMFF94BondStretchingInteractionList &ia_list, bool strict)
Constructs the parameterizer and processes the molecular graph molgraph.
std::shared_ptr< MMFF94BondStretchingInteractionParameterizer > SharedPointer
A reference-counted smart pointer [SHPTR] for dynamically allocated MMFF94BondStretchingInteractionPa...
Definition: MMFF94BondStretchingInteractionParameterizer.hpp:68
void getParameters(const Chem::MolecularGraph &molgraph, const Chem::Bond &bond, unsigned int &bond_type_idx, double &force_const, double &ref_length, bool strict) const
Looks up the MMFF94 bond-stretching parameters for a single bond.
void setAromaticRingSetFunction(const MMFF94RingSetFunction &func)
Sets the function used to obtain the set of MMFF94 aromatic rings of the input molecular graph.
void setAtomTypeFunction(const MMFF94NumericAtomTypeFunction &func)
Sets the function used to look up the MMFF94 numeric atom type of an atom.
void setFilterFunction(const InteractionFilterFunction2 &func)
Sets the filter function used to skip bonds during parameterization.
void setBondStretchingParameterTable(const MMFF94BondStretchingParameterTable::SharedPointer &table)
Sets the primary table providing bond type-specific bond-stretching parameters.
std::shared_ptr< MMFF94BondStretchingParameterTable > SharedPointer
A reference-counted smart pointer [SHPTR] for dynamically allocated MMFF94BondStretchingParameterTabl...
Definition: MMFF94BondStretchingParameterTable.hpp:64
std::shared_ptr< MMFF94BondStretchingRuleParameterTable > SharedPointer
A reference-counted smart pointer [SHPTR] for dynamically allocated MMFF94BondStretchingRuleParameter...
Definition: MMFF94BondStretchingRuleParameterTable.hpp:65
std::function< unsigned int(const Chem::Atom &)> MMFF94NumericAtomTypeFunction
Generic wrapper class used to store a user-defined numeric MMFF94 atom type function.
Definition: MMFF94PropertyFunctions.hpp:56
std::function< const Chem::FragmentList::SharedPointer &(const Chem::MolecularGraph &)> MMFF94RingSetFunction
Generic wrapper class used to store a user-defined MMFF94 ring set function.
Definition: MMFF94PropertyFunctions.hpp:76
std::function< unsigned int(const Chem::Bond &)> MMFF94BondTypeIndexFunction
Generic wrapper class used to store a user-defined MMFF94 bond type index function.
Definition: MMFF94PropertyFunctions.hpp:71
std::function< bool(const Chem::Atom &, const Chem::Atom &)> InteractionFilterFunction2
Generic wrapper for storing user-defined two-atom interaction filtering functions (see [FUNWRP]).
Definition: InteractionFilterFunctions.hpp:54
The namespace of the Chemical Data Processing Library.