OESpreadMetalCharges

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:

operator!= GetExpectValidMol SetExpectValidMol
operator== GetName SetRepairRequestedHint
GetRepairRequestedHint TransferCharge  
CheckCharges GetRequirements  
CreateCopy IsValid  

Constructors

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.

CreateCopy

OEChargeEngineBase *CreateCopy() const

Creates a copy of the charge engine class. This class does not own the returned memory.

GetChargeAliquot

double GetChargeAliquot() const

Returns the amount of the charge that will be removed from the metal per chelating atom.

GetMaxNbrDist

double GetMaxNbrDist() const

Returns the maxinum nearest neighbors distance (minus the radiusMargin) from the metal to the chelating atoms.

GetRadiusMargin

double GetRadiusMargin() const

Returns the extra marginal amount of distance such that two atoms can be considered chelators of each other.

SetChargeAliquot

void SetChargeAliquot(double aliquot)

Sets the amount of charge that should be spread from the metal to each chelating atom.

SetMaxNbrDist

void SetMaxNbrDist(double distance)

Sets the maxinum nearest neighbors distance (minus the radiusMargin) from the metal to the chelating atoms.

SetRadiusMargin

void SetRadiusMargin(double distance)

Sets the extra marginal amount of distance that two atoms can be considered chelators of each other.