gpp4  1.3.1
ccp4_unitcell.h
Go to the documentation of this file.
1 /*
2  ccp4_unitcell.h: headers for C library for ccp4_unitcell.c
3  Copyright (C) 2001 CCLRC, Martyn Winn
4 
5  This library is free software: you can redistribute it and/or
6  modify it under the terms of the GNU Lesser General Public
7  License as published by the Free Software Foundation, either
8  version 3 of the License, or (at your option) any later version.
9 
10  This library is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public
16  License along with This library. If not, see
17  <http://www.gnu.org/licenses/>.
18 
19 */
20 
26 #ifndef __CCP4_UNITCELL
27 #define __CCP4_UNITCELL
28 
29 #ifdef __cplusplus
30 namespace CCP4uc {
31 extern "C" {
32 #endif
33 
34 #include <math.h>
35 
44 double ccp4uc_frac_orth_mat(const double cell[6], const int ncode,
45  double ro[3][3], double rf[3][3]);
46 
52 double ccp4uc_calc_rcell(const double cell[6], double rcell[6]);
53 
62 void ccp4uc_orth_to_frac(const double rf[3][3], const double xo[3], double xf[3]);
63 
70 void ccp4uc_frac_to_orth(const double ro[3][3], const double xf[3], double xo[3]);
71 
78 void ccp4uc_orthu_to_fracu(const double rf[3][3], const double uo[6], double uf[6]);
79 
86 void ccp4uc_fracu_to_orthu(const double ro[3][3], const double uf[6], double uo[6]);
87 
92 double ccp4uc_calc_cell_volume(const double cell[6]);
93 
100 int ccp4uc_cells_differ(const double cell1[6], const double cell2[6], const double tolerance);
101 
107 int ccp4uc_is_rhombohedral(const float cell[6], const float tolerance);
108 
114 int ccp4uc_is_hexagonal(const float cell[6], const float tolerance);
115 
116 #ifdef __cplusplus
117 } }
118 #endif
119 
120 #endif
double ccp4uc_calc_rcell(const double cell[6], double rcell[6])
Definition: ccp4_unitcell.c:161
void ccp4uc_fracu_to_orthu(const double ro[3][3], const double uf[6], double uo[6])
Definition: ccp4_unitcell.c:262
double ccp4uc_frac_orth_mat(const double cell[6], const int ncode, double ro[3][3], double rf[3][3])
Definition: ccp4_unitcell.c:48
int ccp4uc_cells_differ(const double cell1[6], const double cell2[6], const double tolerance)
Definition: ccp4_unitcell.c:307
int ccp4uc_is_rhombohedral(const float cell[6], const float tolerance)
Definition: ccp4_unitcell.c:359
int ccp4uc_is_hexagonal(const float cell[6], const float tolerance)
Definition: ccp4_unitcell.c:380
double ccp4uc_calc_cell_volume(const double cell[6])
Definition: ccp4_unitcell.c:286
void ccp4uc_orth_to_frac(const double rf[3][3], const double xo[3], double xf[3])
Definition: ccp4_unitcell.c:206
void ccp4uc_frac_to_orth(const double ro[3][3], const double xf[3], double xo[3])
Definition: ccp4_unitcell.c:221
void ccp4uc_orthu_to_fracu(const double rf[3][3], const double uo[6], double uf[6])
Definition: ccp4_unitcell.c:235