Loading...
Searching...
No Matches
reciprocal_space_vectors_grid.hpp
Go to the documentation of this file.
1#pragma once
2
3/**
4 * Reciprocal space vectors grid.
5 *
6 * A grid of vectors in reciprocal space, inheriting from PointsGrid.
7 * This is the generic reciprocal-space analog — specialized by
8 * GVectorsGrid in layer 3 for plane-wave basis sets.
9 */
10
11#include <vector>
12
15
16namespace q3 {
17
18/// A grid of reciprocal-space vectors.
20 public:
22
23 [[nodiscard]] int number_of_vectors() const {
24 return static_cast<int>(vectors_.size());
25 }
26
27 [[nodiscard]] const std::vector<ReciprocalSpaceVector>& vectors() const {
28 return vectors_;
29 }
30
31 [[nodiscard]] const ReciprocalSpaceVector& vector(int index) const {
32 return vectors_[index];
33 }
34
35 protected:
36 std::vector<ReciprocalSpaceVector> vectors_;
37};
38
39} // namespace q3
A grid of reciprocal-space vectors.
const std::vector< ReciprocalSpaceVector > & vectors() const
std::vector< ReciprocalSpaceVector > vectors_
const ReciprocalSpaceVector & vector(int index) const
A vector in reciprocal space (Cartesian, units of 2π/alat).