24 #ifndef COM_DAFER45_TBTK_BRAVAIS_LATTICE
25 #define COM_DAFER45_TBTK_BRAVAIS_LATTICE
41 inline int getNumLatticeVectors()
const;
44 inline int getNumAdditionalSites()
const;
47 const std::vector<double>& getLatticeVector(
int n)
const;
50 const std::vector<double>& getAdditionalSite(
int n)
const;
53 const std::vector<std::vector<double>>& getLatticeVectors()
const;
56 const std::vector<std::vector<double>>& getAdditionalSites()
const;
60 virtual void makePrimitive();
63 void setLatticeVectors(
const std::vector<std::vector<double>> &latticeVectors);
66 void setAdditionalSites(
const std::vector<std::vector<double>> &additionalSites);
69 std::vector<std::vector<double>> latticeVectors;
72 std::vector<std::vector<double>> additionalSites;
75 inline int BravaisLattice::getNumLatticeVectors()
const{
76 return latticeVectors.size();
79 inline int BravaisLattice::getNumAdditionalSites()
const{
80 return additionalSites.size();
83 inline const std::vector<double>& BravaisLattice::getLatticeVector(
int n)
const{
84 return latticeVectors.at(n);
87 inline const std::vector<double>& BravaisLattice::getAdditionalSite(
int n)
const{
88 return additionalSites.at(n);
91 inline const std::vector<std::vector<double>>& BravaisLattice::getLatticeVectors()
const{
92 return latticeVectors;
95 inline const std::vector<std::vector<double>>& BravaisLattice::getAdditionalSites()
const{
96 return additionalSites;