Class Direct

Inheritance Relationships

Base Type

Class Documentation

class brille::Direct : public brille::Lattice

A space-spanning Lattice that exists in real space.

The Direct Lattice describes a space-spanning lattice in the real three dimensions. The class is a logical wrapper to the Lattice class and defines new versions of some methods.

Public Functions

template<class ...Types>
Direct(Types... args)
Direct(const Lattice &lat)
Reciprocal star() const

Return the inverse Reciprocal lattice.

void get_xyz_transform(double*) const

Return the basis vectors expressed in an orthonormal frame with a* along x.

void get_xyz_transform(double*, const size_t, const size_t) const
template<class I>
void get_xyz_transform(double*, std::vector<I>&) const
std::vector<double> get_xyz_transform() const
void get_inverse_xyz_transform(double*) const

Return the inverse of the basis vectors expressed in an orthonormal frame where a* is along x.

void get_inverse_xyz_transform(double*, const size_t, const size_t) const
template<class I>
void get_inverse_xyz_transform(double*, std::vector<I>&) const
std::vector<double> get_inverse_xyz_transform() const
void get_lattice_matrix(double*) const

Return the basis vectors expressed in an orthonormal frame with a along x.

void get_lattice_matrix(double*, const size_t, const size_t) const
template<class I>
void get_lattice_matrix(double*, std::vector<I>&) const
bool isstar(const Direct&) const

Always false.

bool isstar(const Reciprocal&) const

Determine if a Reciprocal lattice is the inverse of this lattice.

void print() override

Print the basis vector lengths and angles to the console.

std::string string_repr() override

Return a string representation of the basis vector lengths and angles.

Direct primitive(void) const

For non-Primitive Direct lattices, return the equivalent Primitive lattice.