All required reciprocal-space symmetry stuff. More...
#include <hkl_symmetry.hh>
Public Member Functions | |
| hkl_symmetry (const clipper::Spacegroup &cspgp) | |
| constructor from clipper | |
| hkl_symmetry (const scala::SpaceGroup &cspgp) | |
| constructor form SpaceGroup | |
| hkl_symmetry (const std::string SpgName) | |
| constructor from name | |
| hkl_symmetry (const int &SpgNumber) | |
| constructor from number | |
| bool | IsNull () const |
| true if object is null | |
| void | set_reindex (const ReindexOp &op) |
| store reindex operator | |
| SpaceGroup | GetSpaceGroup () const |
| return SpaceGroup | |
| clipper::Spacegroup | ClipperGroup () const |
| return clipper spacegroup | |
| Hkl | put_in_asu (const Hkl &hkl, int &isym) const |
| put hkl into asymmetric unit, return ISYM symmetry number (odd for h+) | |
| clipper::HKL | put_in_asu (const clipper::HKL &hkl, int &isym) const |
| put hkl into asymmetric unit, return ISYM symmetry number (odd for h+) | |
| Hkl | get_from_asu (const Hkl &hkl, const int &isym) const |
| get hkl from asymmetric unit, given ISYM symmetry number (odd for h+) | |
| bool | is_centric (const Hkl &hkl) const |
| true if reflection centric | |
| float | epsilon (const Hkl &hkl) const |
| epsilon, = 0 for systematic absences | |
| bool | IsCentro () const |
| true if space group centrosymmetric | |
| bool | IsChiral () const |
| true if space group chiral | |
| bool | LatticePresent (const Hkl &hkl) const |
| true if hkl is present in lattice, false if systematically absent from lattice | |
| void | ChangeBasis (const scala::ReindexOp &reindex) |
| change basis, reindex | |
| int | Nelement () const |
| return number of symmetry elements | |
| bool | IsElementIdent (const int &kelement) const |
| return true if kelement'th element is identity | |
| clipper::Vec3< int > | AxisDirection (const SymElement &elmt) const |
| return axis direction for kelement'th symmetry element | |
| std::string | format_element (const int &kelement) const |
| make formatted version of symmetry element | |
| std::string | XML_element (const int &kelement) const |
| make XML version of symmetry element | |
| void | print_element (const int &idx) const |
| print idx'th symmetry element (debug) | |
| void | print_elements () const |
| print all symmetry elements (debug) | |
| int | NopInElement (const int &kelement) const |
| return number of operators in kelement'th symmetry element | |
| std::vector< double > | SymopInElement (const int &j, const int &kelement) const |
| Return rotation part of j'th symmetry operator of kelement'th symmetry element. | |
| int | get_symelmt (const int &isym1, const int &isym2) const |
| Return symmetry-element number (from 0->Nelement-1) relating observations with ISYM = isym1,isym2. | |
| std::vector< int > | get_symelmt (const Hkl &h1, const Hkl &h2) const |
| Return list of symmetry elements (from 0) relating original indices h1 & h2. | |
| std::string | symbol_Hall () const |
| return Hall symbol | |
| std::string | symbol_xHM (const char &HorR=' ') const |
| return extended HM symbol | |
| std::string | symbol () const |
| return name from constructor or from xHM | |
| char | lattice_type () const |
| return lattice type (P, C, I, F, H, ?R) | |
| int | NsymP () const |
| return number of primitive symops, == 0 for null object | |
| int | Nsym () const |
| return number of symops | |
| std::vector< clipper::Symop > | RotSymopsInElement (const int &kelement) const |
| return all rotational symops in element | |
| std::vector< clipper::Symop > | PrimRotSymops () const |
| return all primitive rotational symops | |
| CrystalSystem | CrysSys () const |
| return crystal system | |
| std::vector< int > | CellConstraint () const |
| return cell constraint flags, vector(6) | |
| bool | equals_rt (const hkl_symmetry &other) const |
| test equality with another symmetry object | |
| bool | equals_r (const hkl_symmetry &other) const |
| test just rotation parts | |
| bool | operator== (const hkl_symmetry &other) const |
| simple test, ignore translations | |
| bool | operator!= (const hkl_symmetry &other) const |
| simple test, ignore translations | |
| bool | equalElement (const int &jel, const hkl_symmetry &other, const int &jel2) const |
| true if jel'th element of this symmetry object == jel2'th element of other | |
All required reciprocal-space symmetry stuff.
| std::vector< int > scala::hkl_symmetry::CellConstraint | ( | ) | const |
return cell constraint flags, vector(6)
= -1 anything, = 0 constrained angle (=90 or 120) > 0 = j, same as j'th parameter
| bool scala::hkl_symmetry::equals_rt | ( | const hkl_symmetry & | other | ) | const |
test equality with another symmetry object
not equals_r & equals_rt test number of operators & lattice type (centering) test all operators including translation
Return list of symmetry elements (from 0) relating original indices h1 & h2.
This call is used for centric reflections where more than one symmetry operator relates two observations Ignore difference between h+ and h- for this purpose
| int scala::hkl_symmetry::get_symelmt | ( | const int & | isym1, | |
| const int & | isym2 | |||
| ) | const |
Return symmetry-element number (from 0->Nelement-1) relating observations with ISYM = isym1,isym2.
Isym = 2 * SymNumber + 1 for h+ Isym = 2 * SymNumber + 2 for h- Ignore difference between h+ and h- for this purpose
1.6.3