File State.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 Enums
-
class
State - #include <State.h>
Base class for the implementation of a generic State.
A state should be viewed as a checkpoint. Implementation note: If a class having an interface needs to save/load a state, then it has to have a polymorphic pointer to StatesHandler in the interface and then populate it with a derived class, specific to the class. The same is true with the polymorphic State class.
Subclassed by Scine::Utils::ExternalQC::OrcaState
Public Types
-
using
MatrixState= std::map<std::string, Eigen::MatrixXd> Maps of key-value pairs containing possible states.
-
using
StringState= std::map<std::string, std::string>¶
-
using
DoubleState= std::map<std::string, double>¶
-
using
IntState= std::map<std::string, int>¶
Public Functions
-
State(StateSize size) Constructor, constructs the state with a StateSize.
-
StateSize
getStateSize() const Getter for the state size, i.e.
the required level of information about a state.
-
virtual const Eigen::MatrixXd &
getMatrixState(const std::string &matrixName) const = 0 Getter for an Eigen::MatrixXd state identified with a std::string.
This function returns a const reference to an Eigen::MatrixXd in order to avoid unnecessary copying of possibly big matrices. Be careful, the state must not go out of scope!
- Return
A const reference to the value of the key-value pair, an Eigen::MatrixXd.
- Parameters
matrixState: The key for the state’s key-value pair.
-
virtual const std::string &
getStringState(const std::string &stringState) const = 0 Getter for a std::string state identified with a std::string.
This function returns a const reference to a std::string in order to avoid unnecessary copying of possibly big strings. Be careful, the state must not go out of scope!
- Return
A const reference to the value of the key-value pair, a std::string.
- Parameters
stringState: The key for the state’s key-value pair.
-
virtual int
getIntState(const std::string &intState) const = 0 Getter for an integer state identified with a std::string.
- Return
The value of the key-value pair, an integer.
- Parameters
intState: The key for the state’s key-value pair.
-
virtual double
getDoubleState(const std::string &doubleState) const = 0 Getter for a double state identified with a std::string.
- Return
The value of the key-value pair, a double.
- Parameters
doubleState: The key for the state’s key-value pair.
-
virtual void
initialize() = 0 Initializer for the state, resets it to the initial state.
-
using
-
class
-
namespace