BornAgain  1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
Lattice3D Class Reference

Description

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

Inheritance diagram for Lattice3D:

Public Member Functions

 Lattice3D (const Lattice3D &lattice)
 
 Lattice3D (R3 a, R3 b, R3 c)
 
 ~Lattice3D () override
 
R3 basisVectorA () const
 Returns basis vector a. More...
 
R3 basisVectorB () const
 Returns basis vector b. More...
 
R3 basisVectorC () const
 Returns basis vector c. More...
 
std::string className () const final
 
R3 getMillerDirection (double h, double k, double l) const
 Returns normalized direction corresponding to the given Miller indices. More...
 
I3 nearestReciprocalLatticeVectorCoordinates (R3 q) const
 Returns the nearest reciprocal lattice point from a given vector. More...
 
Lattice3Doperator= (const Lattice3D &)=delete
 
void reciprocalLatticeBasis (R3 &ra, R3 &rb, R3 &rc) const
 Returns the reciprocal basis vectors. More...
 
std::vector< R3reciprocalLatticeVectorsWithinRadius (R3 q, double dq) const
 Returns a list of reciprocal lattice vectors within distance dq of a vector q. More...
 
Lattice3D rotated (const RotMatrix &rotMatrix) const
 Creates rotated lattice. More...
 
void setSelectionRule (const ISelectionRule &selection_rule)
 Sets a selection rule for the reciprocal vectors. More...
 
double unitCellVolume () const
 Returns the volume of the unit cell. More...
 

Constructor & Destructor Documentation

◆ Lattice3D() [1/2]

Lattice3D::Lattice3D ( R3  a,
R3  b,
R3  c 
)

◆ Lattice3D() [2/2]

Lattice3D::Lattice3D ( const Lattice3D lattice)

◆ ~Lattice3D()

Lattice3D::~Lattice3D ( )
override

Member Function Documentation

◆ basisVectorA()

R3 Lattice3D::basisVectorA ( ) const

Returns basis vector a.

◆ basisVectorB()

R3 Lattice3D::basisVectorB ( ) const

Returns basis vector b.

◆ basisVectorC()

R3 Lattice3D::basisVectorC ( ) const

Returns basis vector c.

◆ className()

std::string Lattice3D::className ( ) const
final

◆ getMillerDirection()

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

Returns normalized direction corresponding to the given Miller indices.

◆ nearestReciprocalLatticeVectorCoordinates()

I3 Lattice3D::nearestReciprocalLatticeVectorCoordinates ( R3  q) const

Returns the nearest reciprocal lattice point from a given vector.

◆ operator=()

Lattice3D& Lattice3D::operator= ( const Lattice3D )
delete

◆ reciprocalLatticeBasis()

void Lattice3D::reciprocalLatticeBasis ( R3 ra,
R3 rb,
R3 rc 
) const

Returns the reciprocal basis vectors.

◆ reciprocalLatticeVectorsWithinRadius()

std::vector<R3> Lattice3D::reciprocalLatticeVectorsWithinRadius ( R3  q,
double  dq 
) const

Returns a list of reciprocal lattice vectors within distance dq of a vector q.

◆ rotated()

Lattice3D Lattice3D::rotated ( const RotMatrix rotMatrix) const

Creates rotated lattice.

◆ setSelectionRule()

void Lattice3D::setSelectionRule ( const ISelectionRule selection_rule)

Sets a selection rule for the reciprocal vectors.

◆ unitCellVolume()

double Lattice3D::unitCellVolume ( ) const

Returns the volume of the unit cell.