Clipper
|
Spacegroup object. More...
#include <spacegroup.h>
Public Types | |
enum | TYPE { Null, P1 } |
enumeration for fast construction of Null or P1 spacegroup | |
enum | AXIS { A =0, B =1, C =2 } |
enumeration for cell axes | |
![]() | |
enum | TYPE { Hall, HM, XHM, Symops, Number, Unknown } |
Public Member Functions | |
Spacegroup () | |
null constructor | |
Spacegroup (TYPE type) | |
constructor: fast constructor for Null or P1 spacegroup More... | |
Spacegroup (const Spgr_descr &spgr_descr) | |
constructor: from spacegroup description More... | |
void | init (const Spgr_descr &spgr_descr) |
initialiser: from spacegroup description More... | |
bool | is_null () const |
test if object has been initialised More... | |
const Spgr_descr & | descr () const |
get spacegroup description | |
const int & | num_symops () const |
get number of symops | |
const int & | num_primops () const |
get number of primitive symops (identical to num_primitive_symops()) | |
const int & | num_primitive_symops () const |
get number of primitive symops (inc identity and inversion) | |
const int & | num_centering_symops () const |
get number of centering symops (inc identity) | |
const int & | num_inversion_symops () const |
get number of inversion symops (inc identity) | |
const int & | num_primitive_noninversion_symops () const |
get number of primitive non-inversion symops (inc identity) | |
const Symop & | symop (const int &sym_no) const |
get n'th symop | |
const Symop & | primitive_symop (const int &sym_no) const |
get n'th primitive symop (identical to symop(sym_no)) | |
const Symop & | inversion_symop (const int &sym_no) const |
get n'th inversion symop (0...1 max) | |
const Symop & | centering_symop (const int &sym_no) const |
get n'th centering symop (0...3 max) | |
int | order_of_symmetry_about_axis (const AXIS axis) const |
get the order of rotational symmetry about a given axis More... | |
HKL_class | hkl_class (const HKL &hkl) const |
get 'class' of reflection: multiplicity, allowed phase, absence More... | |
bool | recip_asu (const HKL &hkl) const |
test if hkl is in default reciprocal ASU More... | |
int | product_op (const int &s1, int &s2) const |
get symop number corresponding to the product of two symops | |
int | inverse_op (const int &s) const |
get symop number corresponding to the inverse of a symop | |
Coord_frac | asu_max () const |
get map ASU, upper bound More... | |
Coord_frac | asu_min () const |
get map ASU, lower bound More... | |
bool | invariant_under_change_of_hand () const |
test if change of hand preserves spacegroup More... | |
int | spacegroup_number () const |
String | symbol_hall () const |
String | symbol_hm () const |
String | symbol_laue () const |
return the Laue group symbol More... | |
void | debug () const |
![]() | |
Spgr_descr () | |
null constructor More... | |
Spgr_descr (const String &symb, TYPE type=Unknown) | |
constructor: from symbol or operators. More... | |
Spgr_descr (const int &num) | |
constructor: from number. More... | |
int | spacegroup_number () const |
return the spacegroup number More... | |
String | symbol_hall () const |
return the Hall symbol More... | |
String | symbol_hm () const |
return the H-M symbol More... | |
String | symbol_xhm () const |
return the extended H-M symbol More... | |
String | symbol_hm_ext () const |
return the extension H-M symbol More... | |
Spgr_descr (const Symop_codes &ops) | |
constructor: from symop list. More... | |
const Symop_codes & | generator_ops () const |
return the generators for the spacegroup | |
const unsigned int & | hash () const |
return the hash code for the spacegroup | |
Static Public Member Functions | |
static Spacegroup | p1 () |
Return P1 spacegroup. | |
static Spacegroup | null () |
Return null spacegroup. | |
![]() | |
static void | set_preferred (const char &c) |
set preferred default spacegroup choice More... | |
Additional Inherited Members | |
![]() | |
unsigned int | hash_ |
hash code of spacegroup | |
Symop_codes | generators_ |
codes for symop generators | |
![]() | |
static char | pref_12 = '1' |
static char | pref_hr = 'H' |
preferred origin and hex/romb symbols | |
Spacegroup object.
The spacegroup object is a full description of a spacegroup, including all the most regularly used information in an efficient form. It may be initialised from a clipper::Spgr_descr. This object.
For more details of spacegroup symbols, see Sydney R. Hall & Ralf W. Grosse-Kunstleve 'Concise Space-Group Symbols', http://www.kristall.ethz.ch/LFK/software/sginfo/hall_symbols.html
|
explicit |
constructor: fast constructor for Null or P1 spacegroup
Construct null or P1 spacegroup. This is faster than the normal constructor.
type | Spacegroup::Null or Spacegroup::P1 |
|
explicit |
constructor: from spacegroup description
Construct a spacegroup and initialise with a spacegroup description.
spgr_descr | The spacegroup description. |
void clipper::Spacegroup::init | ( | const Spgr_descr & | spgr_descr | ) |
initialiser: from spacegroup description
Initialise the spacegroup.
spgr_descr | The spacegroup description. |
bool clipper::Spacegroup::is_null | ( | ) | const |
test if object has been initialised
int clipper::Spacegroup::order_of_symmetry_about_axis | ( | const AXIS | axis | ) | const |
get the order of rotational symmetry about a given axis
The number of rotational operators parallel to the specified axis is returned.
axis | The axis, A, B or C. |
get 'class' of reflection: multiplicity, allowed phase, absence
The reflection class describes the type of a reflection in a given spacegroup, including centricity, systematic absence, phase restriction, and multiplicity.
This is a shortcut to constructing an HKL_class from the spacegroup and HKL.
hkl | The reflection HKL |
bool clipper::Spacegroup::recip_asu | ( | const HKL & | hkl | ) | const |
Coord_frac clipper::Spacegroup::asu_max | ( | ) | const |
get map ASU, upper bound
The map ASU is an oblong which contains at least one assymetric unit. It is guaranteed to be contained withing the unit box. The lower limit is always 0,0,0.
Coord_frac clipper::Spacegroup::asu_min | ( | ) | const |
get map ASU, lower bound
The map ASU is an oblong which contains at least one assymetric unit. It is guaranteed to be contained withing the unit box. The lower limit is always 0,0,0.
bool clipper::Spacegroup::invariant_under_change_of_hand | ( | ) | const |
test if change of hand preserves spacegroup
Test if hand-change is possible.
String clipper::Spacegroup::symbol_laue | ( | ) | const |
return the Laue group symbol