#include "ccp4_spg.h"
Go to the source code of this file.
Functions | |
CCP4SPG * | ccp4spg_load_by_standard_num (const int numspg) |
CCP4SPG * | ccp4spg_load_by_ccp4_num (const int ccp4numspg) |
CCP4SPG * | ccp4spg_load_by_spgname (const char *spgname) |
CCP4SPG * | ccp4spg_load_by_ccp4_spgname (const char *ccp4spgname) |
CCP4SPG * | ccp4_spgrp_reverse_lookup (const int nsym1, const ccp4_symop *op1) |
CCP4SPG * | ccp4spg_load_spacegroup (const int numspg, const int ccp4numspg, const char *spgname, const char *ccp4spgname, const int nsym1, const ccp4_symop *op1) |
void | ccp4spg_mem_tidy (void) |
int | symfr_driver (const char *line, float rot[][4][4]) |
void | ccp4spg_free (CCP4SPG **sp) |
void | ccp4spg_register_by_ccp4_num (int numspg) |
void | ccp4spg_register_by_symops (int nops, float rsm[][4][4]) |
int | ccp4_spg_get_centering (const char *symbol_Hall, float cent_ops[4][3]) |
int | ccp4spg_load_laue (CCP4SPG *spacegroup, const int nlaue) |
int | ASU_1b (const int h, const int k, const int l) |
int | ASU_2_m (const int h, const int k, const int l) |
int | ASU_mmm (const int h, const int k, const int l) |
int | ASU_4_m (const int h, const int k, const int l) |
int | ASU_4_mmm (const int h, const int k, const int l) |
int | ASU_3b (const int h, const int k, const int l) |
int | ASU_3bm (const int h, const int k, const int l) |
int | ASU_3bmx (const int h, const int k, const int l) |
int | ASU_6_m (const int h, const int k, const int l) |
int | ASU_6_mmm (const int h, const int k, const int l) |
int | ASU_m3b (const int h, const int k, const int l) |
int | ASU_m3bm (const int h, const int k, const int l) |
char * | ccp4spg_symbol_Hall (CCP4SPG *sp) |
ccp4_symop | ccp4_symop_invert (const ccp4_symop op1) |
int | ccp4spg_name_equal (const char *spgname1, const char *spgname2) |
int | ccp4spg_name_equal_to_lib (const char *spgname_lib, const char *spgname_match) |
char * | ccp4spg_to_shortname (char *shortname, const char *longname) |
void | ccp4spg_name_de_colon (char *name) |
int | ccp4spg_pgname_equal (const char *pgname1, const char *pgname2) |
ccp4_symop * | ccp4spg_norm_trans (ccp4_symop *op) |
int | ccp4_spgrp_equal (int nsym1, const ccp4_symop *op1, int nsym2, const ccp4_symop *op2) |
int | ccp4_spgrp_equal_order (int nsym1, const ccp4_symop *op1, int nsym2, const ccp4_symop *op2) |
int | ccp4_symop_code (ccp4_symop op) |
int | ccp4_int_compare (const void *p1, const void *p2) |
int | ccp4spg_is_in_pm_asu (const CCP4SPG *sp, const int h, const int k, const int l) |
int | ccp4spg_is_in_asu (const CCP4SPG *sp, const int h, const int k, const int l) |
int | ccp4spg_put_in_asu (const CCP4SPG *sp, const int hin, const int kin, const int lin, int *hout, int *kout, int *lout) |
void | ccp4spg_generate_indices (const CCP4SPG *sp, const int isym, const int hin, const int kin, const int lin, int *hout, int *kout, int *lout) |
float | ccp4spg_phase_shift (const int hin, const int kin, const int lin, const float phasin, const float trans[3], const int isign) |
int | ccp4spg_do_chb (const float chb[3][3]) |
void | ccp4spg_set_centric_zones (CCP4SPG *sp) |
int | ccp4spg_is_centric (const CCP4SPG *sp, const int h, const int k, const int l) |
int | ccp4spg_check_centric_zone (const int nzone, const int h, const int k, const int l) |
float | ccp4spg_centric_phase (const CCP4SPG *sp, const int h, const int k, const int l) |
void | ccp4spg_print_centric_zones (const CCP4SPG *sp) |
char * | ccp4spg_describe_centric_zone (const int nzone, char *centric_zone) |
void | ccp4spg_set_epsilon_zones (CCP4SPG *sp) |
int | ccp4spg_get_multiplicity (const CCP4SPG *sp, const int h, const int k, const int l) |
int | ccp4spg_check_epsilon_zone (const int nzone, const int h, const int k, const int l) |
void | ccp4spg_print_epsilon_zones (const CCP4SPG *sp) |
char * | ccp4spg_describe_epsilon_zone (const int nzone, char *epsilon_zone) |
int | ccp4spg_is_sysabs (const CCP4SPG *sp, const int h, const int k, const int l) |
int | ccp4spg_generate_origins (const char *namspg, const int nsym, const float rsym[][4][4], float origins[][3], int *polarx, int *polary, int *polarz, const int iprint) |
void | ccp4spg_print_recip_spgrp (const CCP4SPG *sp) |
void | ccp4spg_print_recip_ops (const CCP4SPG *sp) |
int | range_to_limits (const char *range, float limits[2]) |
void | set_fft_grid (CCP4SPG *sp, const int nxmin, const int nymin, const int nzmin, const float sample, int *nx, int *ny, int *nz) |
int | all_factors_le_19 (const int n) |
int | get_grid_sample (const int minsmp, const int nmul, const float sample) |
int | ccp4spg_check_symm_cell (int nsym, float rsym[][4][4], float cell[6]) |
Functions defining the C-level API for accessing spacegroup properties. The primary spacegroup information comes from the data file syminfo.lib
|
Checks whether all factors of a number n are less than or equal to 19.
|
|
Test if reflection is in asu of Laue group 1bar.
|
|
Test if reflection is in asu of Laue group 2/m.
|
|
Test if reflection is in asu of Laue group 3bar.
|
|
Test if reflection is in asu of Laue group 3bar1m.
|
|
Test if reflection is in asu of Laue group 3barm.
|
|
Test if reflection is in asu of Laue group 4/m.
|
|
Test if reflection is in asu of Laue group 4/mmm.
|
|
Test if reflection is in asu of Laue group 6/m.
|
|
Test if reflection is in asu of Laue group 6/mmm.
|
|
Test if reflection is in asu of Laue group m3bar.
|
|
Test if reflection is in asu of Laue group m3barm.
|
|
Test if reflection is in asu of Laue group mmm.
|
|
Comparison of symmetry operators encoded as integers. In ccp4_spgrp_equal, this is passed to the stdlib qsort.
|
|
Derive centering operators from Hall symbol (deprecated). Centering operators are now read from syminfo.lib
|
|
Sort and compare two symmetry operator lists. Kevin's code. The lists are coded as ints, which are then sorted and compared. Note that no changes are made to the input operators, so that operators differing by an integral number of unit cell translations are considered unequal. If this is not what you want, normalise the operators with ccp4spg_norm_trans first.
|
|
Compare two symmetry operator lists. Kevin's code. The lists are coded as ints, which are compared. Unlike ccp4_spgrp_equal, the lists are not sorted, so the same operators in a different order will be considered unequal.
|
|
Look up spacegroup by symmetry operators and load properties. Allocates memory for the spacegroup structure. This can be freed later by ccp4spg_free().
|
|
Make an integer coding of a symmetry operator. The coding takes 30 bits: 18 for the rotation and 12 for the translation.
|
|
inverts a symmetry operator. The input operator is converted to a 4 x 4 matrix, inverted, and converted back.
|
|
Return phase of a centric reflection in the range 0.0 <= phase < 180.0. You should first check that reflection really is centric.
|
|
Check indices against a centric zone for a given spacegroup.
|
|
Check indices against an epsilon zone for a given spacegroup.
|
|
Check for consistency between cell dimensions and spacegroup. Latter is identified from symmetry operators.
|
|
Obtain string description of centric zone.
|
|
Obtain string description of epsilon zone.
|
|
Check whether change of basis is necessary, i.e. whether the change of basis matrix is not the identity.
|
|
Free memory associated with spacegroup.
|
|
Transform reflection (hin,kin,lin) according to spacegroup "sp" and operation "isym". Resultant indices are placed in (hout,kout,lout).
|
|
Translated from Alexei Vagin's CALC_ORIG_PS.
|
|
Return reflection multiplicity factor for a given hkl in a given spacegroup.
|
|
Function to determine whether or not h,k,l is a centric reflection in spacegroup "sp".
|
|
Test whether reflection is in asu.
|
|
Test whether reflection or it's Friedel mate is in asu.
|
|
Check if reflection is a systematic absence.
|
|
Look up spacegroup by CCP4 number, and load properties. Allocates memory for the spacegroup structure. This can be freed later by ccp4spg_free().
|
|
Look up spacegroup by name. This is for use by CCP4 programs and is more complicated than ccp4spg_load_by_spgname. For each spacegroup in syminfo.lib it checks the CCP4 spacegroup name first, and then the extended Hermann Mauguin symbol. Allocates memory for the spacegroup structure. This can be freed later by ccp4spg_free().
|
|
Look up spacegroup by the extended Hermann Mauguin symbol. Allocates memory for the spacegroup structure. This can be freed later by ccp4spg_free().
|
|
Look up spacegroup in standard setting by number, and load properties. Allocates memory for the spacegroup structure. This can be freed later by ccp4spg_free().
|
|
Load Laue data into spacegroup structure.
|
|
Look up spacegroup from SYMOP. This would not normally be called directly, but via one of the wrapping functions. Allocates memory for the spacegroup structure. This can be freed later by ccp4spg_free().
|
|
Free all memory malloc'd from static pointers. To be called before program exit. The function can be registered with atexit. |
|
Function to deal with colon-specified spacegroup settings. E.g. 'R 3 :H' is converted to 'H 3 '. Note that spaces are returned and should be dealt with by the calling function.
|
|
Compare two spacegroup names. Strings are converted to upper case before making the comparison, but otherwise match must be exact.
|
|
Try to match a spacegroup name to one from SYMINFO. Blanks are removed when making the comparison. Strings are converted to upper case before making the comparison. If spgname_lib has " 1 " and spgname_match doesn't, then strip out " 1" to do "short" comparison.
|
|
Function to normalise translations of a symmetry operator, i.e. to ensure 0.0 <= op.trn[i] < 1.0.
|
|
Compare two point group names. Blanks are removed when making the comparison. Strings are converted to upper case before making the comparison. Any initial "PG" is ignored.
|
|
Shift phase value associated with hin,kin,lin according to translation and optional sign change. Return in range 0,360.
|
|
Print a summary of the centric zones of a spacegroup.
|
|
Print a summary of the epsilon zones of a spacegroup.
|
|
Print reciprocal symops.
|
|
Print details on reciprocal spacegroup.
|
|
Place reflection (hin,kin,lin) in the asymmetric unit of spacegroup "sp". Resultant indices are placed in (hout,kout,lout).
|
|
Look up spacegroup in standard setting by number and load into static storage of csymlib_f.
|
|
Look up spacegroup by set of symmetry operators and load into static storage of csymlib_f.
|
|
Set up centric zones for a given spacegroup. This is called upon loading a spacegroup.
|
|
Set up epsilon zones for a given spacegroup. This is called upon loading a spacegroup.
|
|
Function to return Hall symbol for spacegroup.
|
|
Function to create "short" name of spacegroup. Blanks are removed, as are " 1" elements (except for the special case of "P 1").
|
|
Sets a grid sample greater than minsmp, which has no prime factors greater than 19, and contains the factor nmul.
|
|
Convert string of type 0<=y<=1/4 to 0.0-delta, 0.25+delta, where delta is set to 0.00001 Makes many assumptions about string.
|
|
Sets an FFT grid for a spacegroup.
|
|
Generate symop matrices from description strings This would not normally be called directly, but via one of the wrapping functions SYMFR2 and SYMFR3 in the Fortran API.
|