11 #ifndef QUANTUMSYSTEM_QUANTUMSYSTEM_HPP
12 #define QUANTUMSYSTEM_QUANTUMSYSTEM_HPP
14 #include "../HilbertSpace/HilbertSpace.hpp"
15 #include "../Hamiltonian/Hamiltonian.hpp"
16 #include "../Parameters/Parameters.hpp"
17 #include "../Geometry/Geometry.hpp"
18 #include "../Observable/Observable.hpp"
19 #include "../Factory/Factory.hpp"
20 #include "../QuantumState/QuantumState.hpp"
38 template <
template <
typename>
class T1,
typename T2>
70 template <
class Ens,
typename... Targs>
78 template <
template <
template <
typename>
class,
typename>
class Ham>
88 template <
template <
template <
typename>
class,
typename>
class Obs, typename... Targs>
Geometry parrent class.
Definition: Geometry.hpp:55
HilbertSpace hilbertSpace
selected HilbertSpace for the QuantumSystem
Definition: QuantumSystem.hpp:45
void SelectEnsemble(Targs...Fargs)
selects Ensemble for QuantumSystem
Definition: QuantumSystem.cpp:27
Operator< T1, T2 > hamiltonian
container for matrixElements
Definition: QuantumSystem.hpp:50
void Fill()
fills matrixElements for selected Hamiltonian, with respect to HilbertSpace (Ensemble) and system Par...
Definition: QuantumSystem.cpp:20
Parameters< T2 > parameters
Parameters for hamiltonian.
Definition: QuantumSystem.hpp:55
parent class for Quantum Mechanical Operators
Definition: Hamiltonian.hpp:60
void SelectParameters(Parameters< T2 > ¶meters)
Select Parameters of the QuantumSystem.
Definition: QuantumSystem.cpp:53
general purpouse class for solving quantum systems
Definition: QuantumSystem.hpp:39
void SelectHamiltonian()
selects IHamiltonian for QuantumSystem
Definition: QuantumSystem.cpp:36
void SelectObservable(Targs...Fargs)
selects Observable for QuantumSystem
Definition: QuantumSystem.cpp:43
Hilbert Space class for state enumeration within the Sectors (Sector)
Definition: HilbertSpace.hpp:31