SOLIDstate
A C++ library for solid state physics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
QuantumDynamicSolver.hpp
Go to the documentation of this file.
1 
11 #ifndef QUANTUMDYNAMICS_SOLVERS_QUANTUMDYNAMICSOLVER_HPP
12 #define QUANTUMDYNAMICS_SOLVERS_QUANTUMDYNAMICSOLVER_HPP
13 
14 #include "../QuantumDynamics.hpp"
15 #include <string>
16 
17 namespace solid
18 {
19 
20 template <template <typename> class T1, typename T2, typename T3>
21 class QuantumDynamics; // [!] TODO remove this circular dependency (make interface for QuantumDynamics)!
22 
34 template <template <typename> class T1, typename T2, typename T3>
36 {
37 public:
43  virtual std::string getLabel() = 0;
44 
52  virtual void Propagate(double time, double dtime, QuantumDynamics<T1, T2, T3> &qDynamics) = 0;
53 
55 };
56 
57 } // namespace solid
58 
59 #endif
virtual std::string getLabel()=0
Get the Label object for QuantumDynamicSolver (virtual)
virtual void Propagate(double time, double dtime, QuantumDynamics< T1, T2, T3 > &qDynamics)=0
Propagate the state .
Quantum Dynamics class.
Definition: QuantumDynamics.hpp:40
virtual ~IQuantumDynamicSolver()
Definition: QuantumDynamicSolver.hpp:54
Quantum Dynamic Solver interface.
Definition: QuantumDynamicSolver.hpp:35