6#ifndef model_ReciprocalLatticeVectorBase_h_
7#define model_ReciprocalLatticeVectorBase_h_
16 typedef Eigen::Matrix<typename LatticeCore<dim>::IntScalarType,dim,1> BaseType;
18 const BaseType& base()
const;
32 template<
typename OtherDerived>
79 template<
typename OtherDerived>
107 template<
typename OtherDerived>
ReciprocalLatticeVector(const Eigen::MatrixBase< OtherDerived > &other, const Lattice< 3 > &lat)
LatticeCore< 3 >::MatrixDimI MatrixDimI
LatticeCore< 3 >::MatrixDimD MatrixDimD
LatticeCore< 3 >::VectorDimD VectorDimD
LatticeCore< 3 >::VectorDimI VectorDimI
ReciprocalLatticeVector(const Lattice< 3 > &lat)
ReciprocalLatticeVectorBase(const ReciprocalLatticeVectorBase< dim > &other)=default
ReciprocalLatticeVectorBase(const Lattice< dim > &lat)
IntScalarType dot(const LatticeVector< dim > &other) const
VectorDimD interplaneVector() const
LatticeCore< dim >::MatrixDimD MatrixDimD
LatticeCore< dim >::IntScalarType IntScalarType
ReciprocalLatticeVectorBase(ReciprocalLatticeVectorBase< dim > &&other)=default
const Lattice< dim > & lattice
IntScalarType planeIndexOfPoint(const VectorDimD &P) const
IntScalarType closestPlaneIndexOfPoint(const VectorDimD &P) const
LatticeCore< dim >::VectorDimI VectorDimI
ReciprocalLatticeVectorBase(const Eigen::MatrixBase< OtherDerived > &other, const Lattice< dim > &lat)
ReciprocalLatticeVectorBase< dim > operator+(const ReciprocalLatticeVectorBase< dim > &other) const
LatticeCore< dim >::VectorDimD VectorDimD
ReciprocalLatticeVectorBase< dim > & operator-=(const ReciprocalLatticeVectorBase< dim > &other)
ReciprocalLatticeVectorBase< dim > & operator+=(const ReciprocalLatticeVectorBase< dim > &other)
ReciprocalLatticeVectorBase< dim > & operator=(const ReciprocalLatticeVectorBase< dim > &other)
double planeSpacing() const
VectorDimD cartesian() const
ReciprocalLatticeVectorBase< dim > operator*(const IntScalarType &scalar) const
LatticeCore< dim >::MatrixDimI MatrixDimI
ReciprocalLatticeVectorBase< dim > operator-(const ReciprocalLatticeVectorBase< dim > &other) const
ReciprocalLatticeVector(const Eigen::MatrixBase< OtherDerived > &other, const Lattice< dim > &lat)
ReciprocalLatticeVector(const VectorDimD &d, const Lattice< dim > &lat)
Eigen::Matrix< long int, dim, 1 > VectorDimI
LatticeCore< dim >::MatrixDimI MatrixDimI
LatticeDirectionType cross(const ReciprocalLatticeVectorType &other) const
Eigen::Matrix< double, dim, dim > MatrixDimD
Eigen::Matrix< double, dim, 1 > VectorDimD
ReciprocalLatticeVector(const LatticeType &lat)
ReciprocalLatticeVector(const Lattice< dim > &lat)
auto operator*(const std::shared_ptr< BilinearForm< T1, T2 > > &f, const IntegrationDomain< FE, D, Q, Rule > &dom)
Eigen::Matrix< IntScalarType, dim, dim > MatrixDimI
long long int IntScalarType
Eigen::Matrix< double, dim, 1 > VectorDimD
Eigen::Matrix< double, dim, dim > MatrixDimD
Eigen::Matrix< IntScalarType, dim, 1 > VectorDimI