24 #ifndef COM_DAFER45_TBTK_FOCK_STATE_MAP
25 #define COM_DAFER45_TBTK_FOCK_STATE_MAP
27 #include "TBTK/FockState.h"
30 namespace FockStateMap{
32 template<
typename BIT_REGISTER>
36 FockStateMap(
unsigned int exponentialDimension);
39 virtual ~FockStateMap();
42 virtual unsigned int getBasisSize()
const = 0;
45 virtual unsigned int getBasisIndex(
46 const FockState<BIT_REGISTER> &fockState
50 virtual FockState<BIT_REGISTER> getFockState(
55 unsigned int getExponentialDimension()
const;
57 unsigned int exponentialDimension;
60 template<
typename BIT_REGISTER>
61 FockStateMap<BIT_REGISTER>::FockStateMap(
unsigned int exponentialDimension){
62 this->exponentialDimension = exponentialDimension;
65 template<
typename BIT_REGISTER>
66 FockStateMap<BIT_REGISTER>::~FockStateMap(){
69 template<
typename BIT_REGISTER>
70 unsigned int FockStateMap<BIT_REGISTER>::getExponentialDimension()
const{
71 return exponentialDimension;