SOLIDstate
A C++ library for solid state physics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Observable.hpp
Go to the documentation of this file.
1 
11 #ifndef OBSERVABLE_OBSERVABLE_HPP
12 #define OBSERVABLE_OBSERVABLE_HPP
13 
14 #include "../Hamiltonian/Hamiltonian.hpp"
15 #include "../Parameters/Parameters.hpp"
16 
17 namespace solid
18 {
19 
28 template <template <typename> class T1, typename T2>
30 {
31 public:
38  virtual void FillParameters() = 0;
53  static void Preprocessing(T1<T2> & matrixElements){};
54 
58  virtual void PreprocessingVirtual(T1<T2> & matrixElements) { Preprocessing(matrixElements); }
59 
63  virtual ~IOperatorParameters() {}
64 };
65 
74 template <template <typename> class T1, typename T2>
76 {
77 public:
86 };
87 
88 } // namespace solid
89 
90 #endif
Observable parent class.
Definition: Observable.hpp:75
interface for Observable class
Definition: Observable.hpp:29
static void Preprocessing(T1< T2 > &matrixElements)
static virtial function for matrixElements postprocessing
Definition: Observable.hpp:53
virtual void FillParameters()=0
Filling the Parameters.
Parameters< T2 > parameters
parameters for Observable
Definition: Observable.hpp:85
virtual void PreprocessingVirtual(T1< T2 > &matrixElements)
virtual link for static Postprocessing
Definition: Observable.hpp:58
virtual ~IOperatorParameters()
Destroy the IOperatorParameters object.
Definition: Observable.hpp:63
parent class for Quantum Mechanical Operators
Definition: Hamiltonian.hpp:60
Operator< T1, T2 > _operator
container for matrixElements
Definition: Observable.hpp:81