32 #ifndef CDPL_MOLPROP_PEOESIGMACHARGECALCULATOR_HPP
33 #define CDPL_MOLPROP_PEOESIGMACHARGECALCULATOR_HPP
55 class MHMOPiChargeCalculator;
67 static constexpr std::size_t DEF_NUM_ITERATIONS = 20;
68 static constexpr
double DEF_DAMPING_FACTOR = 0.48;
140 double getNbrElectronegativityAvg(std::size_t idx)
const;
151 void linkTo(AtomState* nbr_state);
153 double getCharge()
const;
154 double getElectronegativity()
const;
156 void shiftCharges(
double att_fact);
157 void updateElectronegativity();
159 double getNbrElectronegativityAvg()
const;
162 typedef std::vector<AtomState*> AtomStateList;
164 AtomStateList nbrAtomStates;
169 double enegativityP1;
173 typedef std::vector<AtomState::SharedPointer> AtomStateList;
175 std::size_t numIterations;
176 double dampingFactor;
177 AtomStateList atomStates;
178 AtomStateList implHStates;
Definition of the preprocessor macro CDPL_MOLPROP_API.
#define CDPL_MOLPROP_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Atom.
Definition: Atom.hpp:52
MolecularGraph.
Definition: MolecularGraph.hpp:52
MHMOPiChargeCalculator.
Definition: MHMOPiChargeCalculator.hpp:67
PEOESigmaChargeCalculator.
Definition: PEOESigmaChargeCalculator.hpp:62
void setNumIterations(std::size_t num_iter)
Allows to specify the number of charge shifting iterations that have to be performed.
void setDampingFactor(double factor)
Allows to specify the applied damping factor.
std::shared_ptr< PEOESigmaChargeCalculator > SharedPointer
Definition: PEOESigmaChargeCalculator.hpp:65
double getCharge(std::size_t idx) const
Returns the calculated sigma charge of the atom with index idx.
void calculate(const Chem::MolecularGraph &molgraph)
Calculates the sigma charges and electronegativities of the atoms in the molecular graph molgraph by ...
PEOESigmaChargeCalculator & operator=(const PEOESigmaChargeCalculator &)=delete
double getDampingFactor() const
Returns the applied damping factor.
PEOESigmaChargeCalculator(const PEOESigmaChargeCalculator &)=delete
PEOESigmaChargeCalculator()
Constructs the PEOESigmaChargeCalculator instance.
double getElectronegativity(std::size_t idx) const
Returns the calculated sigma electronegativity of the atom with index idx.
PEOESigmaChargeCalculator(const Chem::MolecularGraph &molgraph)
Constructs the PEOESigmaChargeCalculator instance and calculates the sigma charges and electronegativ...
std::size_t getNumIterations() const
Returns the number of performed charge shifting iterations.
The namespace of the Chemical Data Processing Library.