File NDDOMethodWrapper.h

Copyright

This code is licensed under the 3-clause BSD license.

Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.

See LICENSE.txt for details.

namespace Scine
namespace Sparrow
class NDDOMethodWrapper : public Utils::CloneInterface<Utils::Abstract<NDDOMethodWrapper>, GenericMethodWrapper>
#include <NDDOMethodWrapper.h>

Abstract class acting as a generic Wrapper for NDDO methods.

Public Functions

NDDOMethodWrapper()

Constructor.

It plays with the befriended states handler by giving it a *this reference.

~NDDOMethodWrapper()
Utils::PropertyList possibleProperties() const

Get the list of the possible properties to calculate analytically.

Since it is the same for all NDDO, have it stated here. If they diverge, override this in each method wrapper.

Protected Functions

template<class NDDOMethod>
void copyInto(NDDOMethod &instance, const NDDOMethod &classToCopy)
virtual Eigen::MatrixXd getOneElectronMatrix() const = 0
virtual Utils::SpinAdaptedMatrix getTwoElectronMatrix() const = 0
Utils::Results assembleResults(const std::string &description) const
void applySettings(std::unique_ptr<Utils::Settings> &settings, Utils::SCFMethod &method)

Friends

friend Scine::Sparrow::NDDOStatesHandler