8 #ifndef SPARROW_DIPOLEMATRTIXCALCULATOR_H
9 #define SPARROW_DIPOLEMATRTIXCALCULATOR_H
20 class AtomsOrbitalsIndexes;
21 class MolecularOrbitals;
26 class ElementParameters;
43 template<
class NDDOMethod>
46 static std::unique_ptr<NDDODipoleMatrixCalculator<NDDOMethod>> create(NDDOMethod& method);
67 void fillDipoleMatrix(
const Eigen::RowVector3d& dipoleEvaluationCoordinate)
final;
96 const Eigen::MatrixXd& overlapMatrix_;
100 IntegralMethod integralMethod_{IntegralMethod::ObaraSaika};
107 #endif // SPARROW_DIPOLEMATRTIXCALCULATOR_H
void initialize() final
Initializes the matrices and invalidates the current dipole matrix.
Definition: NDDODipoleMatrixCalculator.cpp:30
bool isValid() const final
Return the validity status of the dipole matrix.
Definition: NDDODipoleMatrixCalculator.cpp:77
Definition: ElementParameters.h:26
void invalidate() final
Invalidates the underlying dipole matrices and forces a new calculation.
Definition: NDDODipoleMatrixCalculator.cpp:107
Class responsible for the calculation of the dipole matrix.
Definition: NDDODipoleMatrixCalculator.h:44
Interface for the calculation of the dipole matrix in semiempirical methods.
Definition: DipoleMatrixCalculator.h:34
void fillDipoleMatrix(const Eigen::RowVector3d &dipoleEvaluationCoordinate) final
Calculates the dipole matrix in AO basis.
Definition: NDDODipoleMatrixCalculator.cpp:43
const Utils::DipoleMatrix & getAODipoleMatrix() const final
Getter for the dipole matrix in AO.
Definition: NDDODipoleMatrixCalculator.cpp:66
Utils::DipoleMatrix getMODipoleMatrix() const final
Getter for the dipole matrix in MO. The dipole matrix in MO basis is transformed from the one in AO b...
Definition: NDDODipoleMatrixCalculator.cpp:99
void setAODipoleMatrix(Utils::DipoleMatrix dipoleMatrix) final
Setter for the dipole matrix in AO basis.
Definition: NDDODipoleMatrixCalculator.cpp:71
void setIntegralMethod(const IntegralMethod &IntegralMethod) final
Sets the dipole integral calculation method.
Definition: NDDODipoleMatrixCalculator.cpp:37