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 | |
Public Member Functions | |
Spacegroup () | |
null constructor | |
Spacegroup (TYPE type) | |
constructor: fast constructor for Null or P1 spacegroup | |
Spacegroup (const Spgr_descr &spgr_descr) | |
constructor: from spacegroup description | |
void | init (const Spgr_descr &spgr_descr) |
initialiser: from spacegroup description | |
bool | is_null () const |
test if object has been initialised | |
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 | |
HKL_class | hkl_class (const HKL &hkl) const |
get 'class' of reflection: multiplicity, allowed phase, absence | |
bool | recip_asu (const HKL &hkl) const |
test if hkl is in default reciprocal ASU | |
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 | |
Coord_frac | asu_min () const |
get map ASU, lower bound | |
bool | invariant_under_change_of_hand () const |
test if change of hand preserves spacegroup | |
int | spacegroup_number () const |
return the spacegroup number | |
String | symbol_hall () const |
return the Hall symbol | |
String | symbol_hm () const |
return the H-M symbol | |
String | symbol_laue () const |
return the Laue group symbol | |
void | debug () const |
Static Public Member Functions | |
static Spacegroup | p1 () |
Return P1 spacegroup. | |
static Spacegroup | null () |
Return null spacegroup. |
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
clipper::Spacegroup::Spacegroup | ( | TYPE | type | ) | [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 |
References clipper::Spgr_descr::Spgr_descr().
clipper::Spacegroup::Spacegroup | ( | const Spgr_descr & | spgr_descr | ) | [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. |
References clipper::Spgr_descr::generator_ops(), clipper::Spgr_descr::generators_, clipper::Spgr_descr::hash(), and clipper::Spgr_descr::hash_.
bool clipper::Spacegroup::is_null | ( | ) | const |
test if object has been initialised
Referenced by clipper::HKL_info::init(), clipper::HKL_data_base::init(), clipper::CGrid_sampling::init(), clipper::CXmap< T >::init(), clipper::CHKL_info::init(), clipper::Xmap_base::is_null(), and clipper::HKL_info::is_null().
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 |
Referenced by clipper::HKL_info::generate_hkl_list(), clipper::HKL_info::init(), and clipper::HKL_info::update_hkl_list().
bool clipper::Spacegroup::recip_asu | ( | const HKL & | hkl | ) | const |
test if hkl is in default reciprocal ASU
The reciprocal ASU is chosen from one of 47 optimised functions.
hkl | The HKL to test. |
References clipper::HKL::h(), clipper::HKL::k(), and clipper::HKL::l().
Referenced by clipper::HKL_info::find_sym(), clipper::HKL_info::generate_hkl_list(), and clipper::HKL_info::init().
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.
int clipper::Spacegroup::spacegroup_number | ( | ) | const |
return the spacegroup number
The spacegroup number is only available if the spacegroup exists in the internal table, see Hall & Grosse-Kunstleve.
Reimplemented from clipper::Spgr_descr.
Referenced by clipper::Test_core::operator()().
String clipper::Spacegroup::symbol_hall | ( | ) | const |
return the Hall symbol
The Hall symbol is only available if the spacegroup exists in the internal table, see Hall & Grosse-Kunstleve.
Reimplemented from clipper::Spgr_descr.
String clipper::Spacegroup::symbol_hm | ( | ) | const |
return the H-M symbol
The H-M symbol is only available if the spacegroup exists in the internal table, see Hall & Grosse-Kunstleve.
Reimplemented from clipper::Spgr_descr.
String clipper::Spacegroup::symbol_laue | ( | ) | const |
return the Laue group symbol