BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Public Types | |
enum | QComponent { QX , QY , QZ } |
Public Member Functions | |
MillerIndexOrientation (QComponent q1, MillerIndex index1, QComponent q2, MillerIndex index2) | |
~MillerIndexOrientation () override | |
MillerIndexOrientation * | clone () const override |
void | usePrimitiveLattice (const Lattice &lattice) override |
Transform3D | transformationMatrix () const override |
Private Member Functions | |
bool | checkAlignment () const |
Private Attributes | |
Lattice | m_prim_lattice |
QComponent | m_q1 |
QComponent | m_q2 |
MillerIndex | m_ind1 |
MillerIndex | m_ind2 |
Specifies a rotation of a lattice through the Miller indices of two coordinate axes.
Definition at line 41 of file ILatticeOrientation.h.
MillerIndexOrientation::MillerIndexOrientation | ( | MillerIndexOrientation::QComponent | q1, |
MillerIndex | index1, | ||
MillerIndexOrientation::QComponent | q2, | ||
MillerIndex | index2 | ||
) |
This constructor is best explained by an example.
Arguments QX, (1,1,0), QY, (0,2,1) mean: Rotate the lattice such that the axis [110] points into x direction, and the axis [021], projected into the yz plane, points into z direction.
Definition at line 33 of file ILatticeOrientation.cpp.
References checkAlignment().
Referenced by clone().
|
overridedefault |
|
overridevirtual |
Implements ILatticeOrientation.
Definition at line 44 of file ILatticeOrientation.cpp.
References m_ind1, m_ind2, m_prim_lattice, m_q1, m_q2, and MillerIndexOrientation().
|
overridevirtual |
Implements ILatticeOrientation.
Definition at line 53 of file ILatticeOrientation.cpp.
References Lattice::getBasisVectorA(), Lattice::getBasisVectorB(), Lattice::getBasisVectorC(), m_prim_lattice, and Lattice::resetBasis().
|
overridevirtual |
Implements ILatticeOrientation.
Definition at line 59 of file ILatticeOrientation.cpp.
References anonymous_namespace{ILatticeOrientation.cpp}::FillVectorInRow(), Lattice::getMillerDirection(), MillerIndex::h, MillerIndex::k, MillerIndex::l, m_ind1, m_ind2, m_prim_lattice, m_q1, m_q2, BasicVector3D< T >::project(), anonymous_namespace{ILatticeOrientation.cpp}::SignForCrossProduct(), and anonymous_namespace{ILatticeOrientation.cpp}::ThirdQComponent().
|
private |
Definition at line 74 of file ILatticeOrientation.cpp.
References m_ind1, m_ind2, m_q1, m_q2, anonymous_namespace{ILatticeOrientation.cpp}::ParallelMillerIndices(), and anonymous_namespace{ILatticeOrientation.cpp}::ValidMillerIndex().
Referenced by MillerIndexOrientation().
|
private |
Definition at line 61 of file ILatticeOrientation.h.
Referenced by clone(), transformationMatrix(), and usePrimitiveLattice().
|
private |
Definition at line 62 of file ILatticeOrientation.h.
Referenced by checkAlignment(), clone(), and transformationMatrix().
|
private |
Definition at line 62 of file ILatticeOrientation.h.
Referenced by checkAlignment(), clone(), and transformationMatrix().
|
private |
Definition at line 63 of file ILatticeOrientation.h.
Referenced by checkAlignment(), clone(), and transformationMatrix().
|
private |
Definition at line 63 of file ILatticeOrientation.h.
Referenced by checkAlignment(), clone(), and transformationMatrix().