32 #ifndef CDPL_MOLPROP_MHMOPICHARGECALCULATOR_HPP
33 #define CDPL_MOLPROP_MHMOPICHARGECALCULATOR_HPP
60 class PEOESigmaChargeCalculator;
190 bool diagHueckelMatrix();
196 double calcElecDensity(std::size_t i, std::size_t j)
const;
202 double coeffVecIndex;
208 typedef std::vector<const Chem::Bond*> BondList;
209 typedef std::vector<std::size_t> CountsArray;
210 typedef std::vector<double> DoubleArray;
211 typedef std::vector<MODescr> MODescrArray;
212 typedef std::vector<MODescr*> MODescrPtrArray;
213 typedef std::unique_ptr<PEOESigmaChargeCalculator> PEOECalculatorPtr;
215 Matrix hueckelMatrix;
216 Matrix hmEigenVectors;
217 Vector hmEigenValues;
219 CountsArray atomPiSysCounts;
220 CountsArray atomFreeElecCounts;
221 CountsArray atomPiElecCounts;
223 MODescrArray moDescriptors;
224 MODescrPtrArray moDescriptorPtrs;
226 DoubleArray atomElecDensities;
227 DoubleArray bondElecDensities;
228 DoubleArray atomPiCharges;
230 PEOECalculatorPtr peoeCalculatorPtr;
Declaration of type CDPL::Util::BitSet.
Definition of class CDPL::Chem::ElectronSystemList.
Definition of matrix data types.
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.
Definition of vector data types.
Abstract base class representing a chemical atom and its bonded neighborhood.
Definition: Atom.hpp:57
Abstract base class representing a chemical bond between two Chem::Atom instances.
Definition: Bond.hpp:54
Data type for the storage of Chem::ElectronSystem objects.
Definition: ElectronSystemList.hpp:49
Describes an electron system of a molecule in terms of involved atoms and their electron contribution...
Definition: ElectronSystem.hpp:55
Abstract base class for representations of a chemical structure as a graph of bonded atoms.
Definition: MolecularGraph.hpp:57
Calculator that uses a Modified Hückel Molecular Orbital (MHMO) treatment to compute pi-electron dens...
Definition: MHMOPiChargeCalculator.hpp:74
double getElectronDensity(std::size_t atom_idx) const
Returns the calculated pi-electron density of the atom at index atom_idx.
void calculate(const Chem::MolecularGraph &molgraph)
Performs the MHMO calculation for molgraph, perceiving the pi-electron systems on the fly.
double getBondOrder(std::size_t bond_idx) const
Returns the calculated pi-bond order of the bond at index bond_idx.
void localizedPiBonds(bool localized)
Specifies whether the calculation shall use localized pi-bonds.
double getCharge(std::size_t atom_idx) const
Returns the calculated pi-charge of the atom at index atom_idx.
MHMOPiChargeCalculator(const MHMOPiChargeCalculator &)=delete
void calculate(const Chem::ElectronSystemList &pi_sys_list, const Chem::MolecularGraph &molgraph)
Performs the MHMO calculation for the given pi-electron systems of molgraph.
MHMOPiChargeCalculator(const Chem::ElectronSystemList &pi_sys_list, const Chem::MolecularGraph &molgraph)
Constructs the MHMOPiChargeCalculator instance and performs the MHMO calculation for the given pi-ele...
MHMOPiChargeCalculator(const Chem::MolecularGraph &molgraph)
Constructs the MHMOPiChargeCalculator instance and performs the MHMO calculation for molgraph.
std::shared_ptr< MHMOPiChargeCalculator > SharedPointer
A reference-counted smart pointer [SHPTR] for dynamically allocated MHMOPiChargeCalculator instances.
Definition: MHMOPiChargeCalculator.hpp:80
~MHMOPiChargeCalculator()
Destructor.
MHMOPiChargeCalculator()
Constructs the MHMOPiChargeCalculator instance.
MHMOPiChargeCalculator & operator=(const MHMOPiChargeCalculator &)=delete
bool localizedPiBonds() const
Tells whether the calculation uses localized pi-bonds.
double getEnergy() const
Returns the total pi-electron energy of the molecular graph from the last calculation.
boost::dynamic_bitset BitSet
Dynamic bitset class.
Definition: BitSet.hpp:46
The namespace of the Chemical Data Processing Library.