24 #ifndef COM_DAFER45_TBTK_MOMENTUM_SPACE_CONTEXT
25 #define COM_DAFER45_TBTK_MOMENTUM_SPACE_CONTEXT
27 #include "TBTK/BrillouinZone.h"
33 class MomentumSpaceContext{
37 const BrillouinZone &brillouinZone,
38 const std::vector<unsigned int> &numMeshPoints
42 const BrillouinZone& getBrillouinZone()
const;
45 const std::vector<unsigned int>& getNumMeshPoints()
const;
48 const std::vector<std::vector<double>>& getMesh()
const;
51 Index getKIndex(
const std::vector<double> &k)
const;
54 const BrillouinZone *brillouinZone;
57 std::vector<unsigned int> numMeshPoints;
60 std::vector<std::vector<double>> mesh;
63 inline const BrillouinZone& MomentumSpaceContext::getBrillouinZone()
const{
64 return *brillouinZone;
67 inline const std::vector<unsigned int>& MomentumSpaceContext::getNumMeshPoints(
72 inline const std::vector<std::vector<double>>& MomentumSpaceContext::getMesh(
77 inline Index MomentumSpaceContext::getKIndex(
78 const std::vector<double> &k
80 return brillouinZone->getMinorCellIndex(