Majoranapp
A C++ library for studying MZM in non-interacting systems
Filler.hpp
Go to the documentation of this file.
1 #ifndef FILLER_HPP
2 #define FILLER_HPP
3 
4 #include "QuantumSystem/Parameters.hpp"
5 #include "EnumGamma.hpp"
6 #include "Hamiltonian.hpp"
7 
8 // spinfull
12 // - rashba
16 // - zeeman
20 
21 // spinless
25 
46 template <class O>
47 class Filler
48 {
49 public:
50  template <class T, typename... Targs>
51  static void Fill(Hamiltonian<T> &ham, Targs... Fargs)
52  {
53  O::template Fill<T>(ham, Fargs...);
54  }
55 
56  template <class T, typename... Targs>
57  static void Fill(Hamiltonian<T> &ham, Parameters &parameters, Targs... Fargs)
58  {
59  O::template Fill<T>(ham, parameters.map[O::name], Fargs...);
60  }
61 
62 private:
63  static void DegreeWarning()
64  {
65  // TODO
66  }
67 };
68 
69 #endif
Hamiltonian class for counting MZM in non-interacting systems.
Definition: Hamiltonian.hpp:13
static void Fill(Hamiltonian< T > &ham, Parameters &parameters, Targs... Fargs)
Definition: Filler.hpp:57
static class for spinfull model term filler
Definition: Filler.hpp:47
static void DegreeWarning()
Definition: Filler.hpp:63
static void Fill(Hamiltonian< T > &ham, Targs... Fargs)
Definition: Filler.hpp:51