Gemmi C++ API
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Enumerations | Functions
symmetry.hpp File Reference
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <array>
#include <algorithm>
#include <functional>
#include <stdexcept>
#include <string>
#include <tuple>
#include <vector>
#include "fail.hpp"

Go to the source code of this file.

Classes

struct  gemmi::Op
 
struct  gemmi::GroupOps
 
struct  gemmi::GroupOps::Iter
 
struct  gemmi::SpaceGroup
 
struct  gemmi::SpaceGroupAltName
 
struct  gemmi::ReciprocalAsu
 
struct  std::hash< gemmi::Op >
 

Namespaces

namespace  gemmi
 
namespace  std
 

Typedefs

using gemmi::spacegroup_tables = impl::Tables_< void >
 

Enumerations

enum class  gemmi::CrystalSystem : unsigned char {
  gemmi::Triclinic =0 , gemmi::Monoclinic , gemmi::Orthorhombic , gemmi::Tetragonal ,
  gemmi::Trigonal , gemmi::Hexagonal , gemmi::Cubic
}
 
enum class  gemmi::PointGroup : unsigned char {
  gemmi::C1 =0 , gemmi::Ci , gemmi::C2 , gemmi::Cs ,
  gemmi::C2h , gemmi::D2 , gemmi::C2v , gemmi::D2h ,
  gemmi::C4 , gemmi::S4 , gemmi::C4h , gemmi::D4 ,
  gemmi::C4v , gemmi::D2d , gemmi::D4h , gemmi::C3 ,
  gemmi::C3i , gemmi::D3 , gemmi::C3v , gemmi::D3d ,
  gemmi::C6 , gemmi::C3h , gemmi::C6h , gemmi::D6 ,
  gemmi::C6v , gemmi::D3h , gemmi::D6h , gemmi::T ,
  gemmi::Th , gemmi::O , gemmi::Td , gemmi::Oh
}
 
enum class  gemmi::Laue : unsigned char {
  gemmi::L1 =0 , gemmi::L2m , gemmi::Lmmm , gemmi::L4m ,
  gemmi::L4mmm , gemmi::L3 , gemmi::L3m , gemmi::L6m ,
  gemmi::L6mmm , gemmi::Lm3 , gemmi::Lm3m
}
 

Functions

bool gemmi::operator== (const Op &a, const Op &b)
 
bool gemmi::operator!= (const Op &a, const Op &b)
 
Op gemmi::operator* (const Op &a, const Op &b)
 
Opgemmi::operator*= (Op &a, const Op &b)
 
Op gemmi::seitz_to_op (const std::array< std::array< double, 4 >, 4 > &t)
 
int gemmi::interpret_miller_character (char c, const std::string &s)
 
std::array< int, 4 > gemmi::parse_triplet_part (const std::string &s)
 
Op gemmi::parse_triplet (const std::string &s)
 
std::string gemmi::make_triplet_part (const std::array< int, 3 > &xyz, int w, char style='x')
 
std::vector< Op::Trangemmi::centring_vectors (char centring_type)
 
GroupOps gemmi::split_centering_vectors (const std::vector< Op > &ops)
 
Op::Rot gemmi::hall_rotation_z (int N)
 
Op::Tran gemmi::hall_translation_from_symbol (char symbol)
 
Op gemmi::hall_matrix_symbol (const char *start, const char *end, int pos, int &prev)
 
Op gemmi::parse_hall_change_of_basis (const char *start, const char *end)
 
GroupOps gemmi::generators_from_hall (const char *hall)
 
GroupOps gemmi::symops_from_hall (const char *hall)
 
const chargemmi::crystal_system_str (CrystalSystem system)
 
const chargemmi::point_group_hm (PointGroup pg)
 
Laue gemmi::pointgroup_to_laue (PointGroup pg)
 
PointGroup gemmi::laue_to_pointgroup (Laue laue)
 
const chargemmi::laue_class_str (Laue laue)
 
CrystalSystem gemmi::crystal_system (Laue laue)
 
CrystalSystem gemmi::crystal_system (PointGroup pg)
 
unsigned char gemmi::point_group_index_and_category (int space_group_number)
 
PointGroup gemmi::point_group (int space_group_number)
 
bool gemmi::is_sohncke (int space_group_number)
 
bool gemmi::is_enantiomorphic (int space_group_number)
 
bool gemmi::is_symmorphic (int space_group_number)
 
Op::Tran gemmi::nonzero_inversion_center (int space_group_number)
 Inversion center of the Euclidean normalizer that is not at the origin of reference settings.
 
const chargemmi::get_basisop (int basisop_idx)
 
Op::Rot gemmi::centred_to_primitive (char centring_type)
 
const SpaceGroupgemmi::find_spacegroup_by_number (int ccp4) noexcept
 
const SpaceGroupgemmi::get_spacegroup_by_number (int ccp4)
 
const SpaceGroupgemmi::get_spacegroup_reference_setting (int number)
 
const SpaceGroupgemmi::find_spacegroup_by_name (std::string name, double alpha=0., double gamma=0.) noexcept
 
const SpaceGroupgemmi::get_spacegroup_by_name (const std::string &name)
 
const SpaceGroupgemmi::get_spacegroup_p1 ()
 
const SpaceGroupgemmi::find_spacegroup_by_ops (const GroupOps &gops)