Majoranapp
A C++ library for studying MZM in non-interacting systems
Factory.hpp
Go to the documentation of this file.
1 #ifndef FACTORY_HPP
2 #define FACTORY_HPP
3 
4 #include "Hamiltonian.hpp"
5 #include "QuantumSystem.hpp"
6 #include "QuantumSystem/Parameters.hpp"
7 #include "QuantumSystem/Dimensions.hpp"
8 
9 // implemented geometries and stuff
10 // - Spinless
14 
15 // - Spinfull
20 
26 template <class O>
27 class Factory
28 {
29 public:
39  template <class T, typename... Targs>
40  static Hamiltonian<T> Generate(QuantumSystem &quantumSystem, Targs... Fargs)
41  {
42  return O::template Generate<T>(quantumSystem, Fargs...);
43  }
44 };
45 
46 #endif
Hamiltonian class for counting MZM in non-interacting systems.
Definition: Hamiltonian.hpp:13
class which produces stuff
Definition: Factory.hpp:27
static Hamiltonian< T > Generate(QuantumSystem &quantumSystem, Targs... Fargs)
run the Generate() function of static class O
Definition: Factory.hpp:40
class containing all information about quantum system, which is needed for hamiltonian construction ...
Definition: QuantumSystem.hpp:12