Template Class LDVec¶
Defined in File array_latvec.hpp
Inheritance Relationships¶
Base Types¶
public brille::LatVec(Class LatVec)public brille::Array2< T >(Template Class Array2)
Class Documentation¶
-
template<class
T>
classbrille::LDVec: public brille::LatVec, public brille::Array2<T>¶ 3-vector(s) expressed in units of a Direct lattice
By adding a Direct lattice to a 3-element bArray this class represents one or more 3-vector in units of a real-space-spanning lattice.
Public Functions
-
template<typename ...
Args>LDVec(const Direct &lat, Args... args)¶ integer number of three-vector constructor (macroed as templates can’t be distinguished)
Fowarding constructor to let bArray deal with everything else
-
bArray<T>
get_hkl() const¶ Extract just the coordinates in units of the Direct lattice (strip off the lattice information)
-
LQVec<double>
star() const¶ Return the vector(s) expressed in units of the Reciprocal lattice.
-
double
dot(const size_t i, const size_t j) const¶ Determine the scalar product between two vectors in the object.
-
double
norm(const size_t i) const¶ Determine the absolute length of a vector in the object.
-
LDVec<double>
cross(const size_t i, const size_t j) const¶ Determine the cross product of two vectors in the object.
-
template<class
R, template<class> classA, typename = typename std::enable_if<!std::is_base_of<LatVec, A<R>>::value>::type>
voidbinary_operation_check(const A<R>&) const¶
Protected Functions
-
void
check_array()¶
-
template<typename ...