class OESpreadMetalCharges : public OEChargeEngineBase
Charge engine derived from OEChargeEngineBase that spreads partial charges from a metal to its chelation bonding parters.
The following methods are publicly inherited from OEChargeEngineBase:
OESpreadMetalCharges(double chargeAliquot=0.25, double radiusMargin=0.25, double maxNbrDist=6.0)
Constructor with input arguments of the incremental amount of charge that should be spread from the metal to each chelating atom (chargeAliquot), the distance beyond the radial-radial distance from which the nearest neighbors cutoff is defined (radiusMargin), and the maxinum distance separating the metal and the chelating atoms (maxNbrDist). Parameters also have getter and setter methods.
OEChargeEngineBase *CreateCopy() const
Creates a copy of the charge engine class. This class does not own the returned memory.
double GetChargeAliquot() const
Returns the amount of the charge that will be removed from the metal per chelating atom.
double GetMaxNbrDist() const
Returns the maxinum nearest neighbors distance (minus the radiusMargin) from the metal to the chelating atoms.
double GetRadiusMargin() const
Returns the extra marginal amount of distance such that two atoms can be considered chelators of each other.
void SetChargeAliquot(double aliquot)
Sets the amount of charge that should be spread from the metal to each chelating atom.
void SetMaxNbrDist(double distance)
Sets the maxinum nearest neighbors distance (minus the radiusMargin) from the metal to the chelating atoms.
void SetRadiusMargin(double distance)
Sets the extra marginal amount of distance that two atoms can be considered chelators of each other.