File MethodSpecifier.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

This header file contains functions that allow for common notation for common things that can be done at a different degree of derivatives.

This header contains alias definitions defining which classes to use for the different degrees of derivatives.

namespace Utils

Functions

template<typename T>
bool checkMethodType(SinglePointMethod *m)
class MethodSpecifier
#include <MethodSpecifier.h>

This class defines the properties of a method and implements a factory to create instances of it.

Public Functions

virtual ~MethodSpecifier()
virtual std::string getName() const = 0
virtual bool isLcaoMethod() const = 0
virtual bool isScfMethod() const = 0
virtual bool hasOrthonormalBasis() const = 0
virtual unsigned maximalDerivativeOrder() const = 0
virtual bool compatibleType(SinglePointMethod *method) const = 0
virtual std::unique_ptr<SinglePointMethod> createMethod() const = 0
virtual std::unique_ptr<MethodInitializer> createInitializer(SinglePointMethod *method) const = 0