BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
Lattice3D Class Reference

A Bravais lattice, characterized by three basis vectors, and optionally an ISelectionRule. More...

+ Inheritance diagram for Lattice3D:

Public Member Functions

 Lattice3D (const kvector_t a, const kvector_t b, const kvector_t c)
 
 Lattice3D (const Lattice3D &lattice)
 
void accept (INodeVisitor *visitor) const override
 
kvector_t getBasisVectorA () const
 Returns basis vector a.
 
kvector_t getBasisVectorB () const
 Returns basis vector b.
 
kvector_t getBasisVectorC () const
 Returns basis vector c.
 
kvector_t getMillerDirection (double h, double k, double l) const
 Returns normalized direction corresponding to the given Miller indices. More...
 
ivector_t getNearestReciprocalLatticeVectorCoordinates (const kvector_t q) const
 Returns the nearest reciprocal lattice point from a given vector.
 
void getReciprocalLatticeBasis (kvector_t &ra, kvector_t &rb, kvector_t &rc) const
 Returns the reciprocal basis vectors. More...
 
void initialize ()
 Initializes cached data.
 
Lattice3Doperator= (const Lattice3D &)=delete
 
std::vector< kvector_treciprocalLatticeVectorsWithinRadius (const kvector_t q, double dq) const
 Returns a list of reciprocal lattice vectors within distance dq of a vector q.
 
void setSelectionRule (const ISelectionRule &selection_rule)
 Sets a selection rule for the reciprocal vectors.
 
Lattice3D transformed (const Transform3D &transform) const
 Creates transformed lattice.
 
double unitCellVolume () const
 Returns the volume of the unit cell.
 

Detailed Description

A Bravais lattice, characterized by three basis vectors, and optionally an ISelectionRule.

Member Function Documentation

◆ getMillerDirection()

kvector_t Lattice3D::getMillerDirection ( double  h,
double  k,
double  l 
) const

Returns normalized direction corresponding to the given Miller indices.

Currently unused but may be useful for checks.

◆ getReciprocalLatticeBasis()

void Lattice3D::getReciprocalLatticeBasis ( kvector_t ra,
kvector_t rb,
kvector_t rc 
) const

Returns the reciprocal basis vectors.

Currently only used in tests.