| FOX/ObjCryst++
    1.10.X (development)
    | 
Lightweight class describing the reciprocal unit cell, for the fast computation of d*_hkl^2. More...
| Public Member Functions | |
| RecUnitCell (const float zero=0, const float par0=0, const float par1=0, const float par2=0, const float par3=0, const float par4=0, const float par5=0, CrystalSystem lattice=CUBIC, const CrystalCentering cent=LATTICE_P) | |
| light-weight class storing the reciprocal space unitcell | |
| RecUnitCell (const RecUnitCell &old) | |
| void | operator= (const RecUnitCell &rhs) | 
| float | hkl2d (const float h, const float k, const float l, REAL *derivpar=NULL, const unsigned int derivhkl=0) const | 
| Compute d*^2 for hkl reflection if deriv != -1, compute derivate versus the corresponding parameter.  More... | |
| void | hkl2d_delta (const float h, const float k, const float l, const RecUnitCell &delta, float &dmin, float &dmax) const | 
| Compute d*^2 for one hkl reflection: this functions computes a d*^2 range (min,max) for a given range of unit cell parameter (given in the delta parameter) around the current parameters.  More... | |
| std::vector< float > | DirectUnitCell (const bool equiv=false) const | 
| Compute real space unit cell from reciprocal one.  More... | |
| Public Attributes | |
| REAL | par [7] | 
| The 6 parameters defining 1/d_hkl^2 = d*_hkl^2, for different crystal classes, from: d*_hkl^2 = zero + a*^2 h^2 + b*^2 k^2 + c*^2 l^2 + 2 a*.b* hk + 2 b*.c* kl + 2 a*.c* hl.  More... | |
| float | zero | 
| CrystalSystem | mlattice | 
| CrystalCentering | mCentering | 
Lightweight class describing the reciprocal unit cell, for the fast computation of d*_hkl^2.
Definition at line 58 of file Indexing.h.
| vector< float > ObjCryst::RecUnitCell::DirectUnitCell | ( | const bool | equiv = false | ) | const | 
Compute real space unit cell from reciprocal one.
| equiv | if true, return real unit cell equivalent to the one computed from the reciprocal one, so that alpha, beta and gamma are larger or equal to pi/2, and minimum. This is done by adding multiples of a to b and multiples of a and b to c. | 
Definition at line 562 of file Indexing.cpp.
| float ObjCryst::RecUnitCell::hkl2d | ( | const float | h, | 
| const float | k, | ||
| const float | l, | ||
| REAL * | derivpar = NULL, | ||
| const unsigned int | derivhkl = 0 | ||
| ) | const | 
Compute d*^2 for hkl reflection if deriv != -1, compute derivate versus the corresponding parameter.
If derivhkl=1,2,3, compute derivative versus h,k or l.
Definition at line 106 of file Indexing.cpp.
| void ObjCryst::RecUnitCell::hkl2d_delta | ( | const float | h, | 
| const float | k, | ||
| const float | l, | ||
| const RecUnitCell & | delta, | ||
| float & | dmin, | ||
| float & | dmax | ||
| ) | const | 
Compute d*^2 for one hkl reflection: this functions computes a d*^2 range (min,max) for a given range of unit cell parameter (given in the delta parameter) around the current parameters.
Used for DicVol algorithm
Definition at line 454 of file Indexing.cpp.
| REAL ObjCryst::RecUnitCell::par[7] | 
The 6 parameters defining 1/d_hkl^2 = d*_hkl^2, for different crystal classes, from: d*_hkl^2 = zero + a*^2 h^2 + b*^2 k^2 + c*^2 l^2 + 2 a*.b* hk + 2 b*.c* kl + 2 a*.c* hl.
for triclinic: d*_hkl^2 = par[0] + par[1] h^2 + par[1] k^2 + par[2]^2 l^2 + par[3] hk + par[4] kl + par[5] hl for monoclinic: d*_hkl^2 = zero + par[0]^2 h^2 + par[1]^2 k^2 + par[2]^2 l^2 + par[0]*par[2]*par[3] hl for orthorombic: d*_hkl^2 = zero + par[0]^2 h^2 + par[1]^2 k^2 + par[2]^2 l^2 for hexagonal: d*_hkl^2 = zero + par[0]^2 h^2 + par[0]^2 k^2 + par[2]^2 l^2 + sqrt(3)/2*par[0]^2 hk for rhomboedral: d*_hkl^2 = zero + par[0]^2 h^2 + par[1]^2 k^2 + par[2]^2 l^2 + par[3] (hk + kl + hl) for quadratic: d*_hkl^2 = zero + par[0]^2 h^2 + par[0]^2 k^2 + par[1]^2 l^2 for cubic d*_hkl^2 = zero + par[0]^2 (h^2 + k^2 + l^2)
Definition at line 104 of file Indexing.h.