29 #ifndef CDPL_MOLPROP_MHMOPICHARGECALCULATOR_HPP
30 #define CDPL_MOLPROP_MHMOPICHARGECALCULATOR_HPP
57 class PEOESigmaChargeCalculator;
187 bool diagHueckelMatrix();
193 double calcElecDensity(std::size_t i, std::size_t j)
const;
199 double coeffVecIndex;
205 typedef std::vector<const Chem::Bond*> BondList;
206 typedef std::vector<std::size_t> CountsArray;
207 typedef std::vector<double> DoubleArray;
208 typedef std::vector<MODescr> MODescrArray;
209 typedef std::vector<MODescr*> MODescrPtrArray;
210 typedef std::unique_ptr<PEOESigmaChargeCalculator> PEOECalculatorPtr;
212 Matrix hueckelMatrix;
213 Matrix hmEigenVectors;
214 Vector hmEigenValues;
216 CountsArray atomPiSysCounts;
217 CountsArray atomFreeElecCounts;
218 CountsArray atomPiElecCounts;
220 MODescrArray moDescriptors;
221 MODescrPtrArray moDescriptorPtrs;
223 DoubleArray atomElecDensities;
224 DoubleArray bondElecDensities;
225 DoubleArray atomPiCharges;
227 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 structure 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 π-electron densi...
Definition: MHMOPiChargeCalculator.hpp:71
double getElectronDensity(std::size_t atom_idx) const
Returns the calculated π-electron density of the atom at index atom_idx.
void calculate(const Chem::MolecularGraph &molgraph)
Performs the MHMO calculation for molgraph, perceiving the π-electron systems on the fly.
double getBondOrder(std::size_t bond_idx) const
Returns the calculated π-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 π-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 π-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 π-elec...
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:77
~MHMOPiChargeCalculator()
Destructor.
MHMOPiChargeCalculator()
Constructs the MHMOPiChargeCalculator instance.
MHMOPiChargeCalculator & operator=(const MHMOPiChargeCalculator &)=delete
bool localizedPiBonds() const
Tells whether the calculation uses localized π-bonds.
double getEnergy() const
Returns the total π-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.