11 #ifndef TERMS_TERMSENUMCONVERTER_HPP
12 #define TERMS_TERMSENUMCONVERTER_HPP
14 #include "../QuantumSystem/QuantumSystem.hpp"
15 #include "../Terms/TermsEnum.hpp"
16 #include "../Terms/Hop/Hop.hpp"
17 #include "../Terms/OneBodyInteraction/OneBodyInteraction.hpp"
18 #include "../Terms/TwoBodyInteraction/TwoBodyInteraction.hpp"
19 #include "../Terms/CreatePair/CreatePair.hpp"
33 template <
template <
typename>
class T1,
typename T2>
34 using mapTermsFunction = std::map<TermsEnum, std::function<void(QuantumSystem<T1, T2> &)>>;
42 template <
template <
typename>
class T1,
typename T2>
static mapTermsFunction< T1, T2 > CreateDict()
Create a Dict object.
Definition: TermsEnumConverter.cpp:17
std::map< TermsEnum, std::function< void(QuantumSystem< T1, T2 > &)>> mapTermsFunction
typedef for map between TermsEnum and corresponding function
Definition: TermsEnumConverter.hpp:34
static class for converting TermEnum into ITerm implementations
Definition: TermsEnumConverter.hpp:43
static mapTermsFunction< T1, T2 > dict
dictionary
Definition: TermsEnumConverter.hpp:57