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(