7 #ifndef SPARROW_NDDOMETHODWRAPPER_H
8 #define SPARROW_NDDOMETHODWRAPPER_H
19 class SpinAdaptedMatrix;
24 class DipoleMatrixCalculator;
31 :
public Utils::CloneInterface<Utils::Abstract<NDDOMethodWrapper>, GenericMethodWrapper, Core::Calculator> {
46 friend class NDDOStatesHandler;
56 template<
class NDDOMethod>
57 void copyInto(NDDOMethod& instance,
const NDDOMethod& classToCopy) {
58 auto results = classToCopy.results();
59 instance.settings() = classToCopy.settings();
62 instance.setStructure(*classToCopy.getStructure());
63 instance.results() = std::move(results);
64 instance.loadState(classToCopy.getState());
65 instance.setLog(classToCopy.getLog());
67 virtual Eigen::MatrixXd getOneElectronMatrix()
const = 0;
69 virtual CISData getCISDataImpl()
const = 0;
70 void assembleResults(
const std::string& description)
final;
72 void applySettings(std::unique_ptr<Utils::Settings>& settings,
Utils::ScfMethod& method);
73 bool getZPVEInclusion()
const final;
79 #endif // SPARROW_NDDOMETHODWRAPPER_H
Abstract class acting as a genericWrapper for NDDO methods.
Definition: NDDOMethodWrapper.h:30
CISData getCISData() const
This function is needed in the calcualtion of the CIS matrix in linear response method.
Definition: NDDOMethodWrapper.cpp:105
Utils::PropertyList possibleProperties() const override
Get the list of the possible properties to calculate analytically. Since it is the same for all NDDO...
Definition: NDDOMethodWrapper.cpp:28
NDDOMethodWrapper()
Constructor. It plays with the befriended states handler by giving it a *this reference.
This class contains the infos needed to perform a CIS calculation. This way excited states properties...
Definition: CISData.h:24