• Main Page
  • Related Pages
  • Classes
  • Files
  • File List
  • File Members

src/ccp4_unitcell.h

Go to the documentation of this file.
00001 /*
00002      ccp4_unitcell.h: headers for C library for ccp4_unitcell.c
00003      Copyright (C) 2001  CCLRC, Martyn Winn  
00004 
00005      This library is free software; you can redistribute it and/or
00006      modify it under the terms of the GNU Lesser General Public
00007      License as published by the Free Software Foundation; either
00008      version 2.1 of the License, or (at your option) any later
00009      version.
00010 
00011      This library is distributed in the hope that it will be useful,
00012      but WITHOUT ANY WARRANTY; without even the implied warranty of
00013      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014      Lesser General Public License for more details.
00015 
00016      You should have received a copy of the GNU Lesser General Public
00017      License along with this library; if not, write to the Free
00018      Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00019      Boston, MA 02110-1301 USA
00020 
00021 */
00022 
00028 #ifndef __CCP4_UNITCELL
00029 #define __CCP4_UNITCELL
00030 
00031 #ifdef  __cplusplus
00032 namespace CCP4uc {
00033 extern "C" {
00034 #endif
00035 
00036 #include <math.h>
00037 
00046 double ccp4uc_frac_orth_mat(const double cell[6], const int ncode, 
00047                            double ro[3][3], double rf[3][3]);
00048 
00054 double ccp4uc_calc_rcell(const double cell[6], double rcell[6]);
00055 
00064 void ccp4uc_orth_to_frac(const double rf[3][3], const double xo[3], double xf[3]);
00065 
00072 void ccp4uc_frac_to_orth(const double ro[3][3], const double xf[3], double xo[3]);
00073 
00080 void ccp4uc_orthu_to_fracu(const double rf[3][3], const double uo[6], double uf[6]);
00081 
00088 void ccp4uc_fracu_to_orthu(const double ro[3][3], const double uf[6], double uo[6]);
00089 
00094 double ccp4uc_calc_cell_volume(const double cell[6]);
00095 
00102 int ccp4uc_cells_differ(const double cell1[6], const double cell2[6], const double tolerance);
00103 
00109 int ccp4uc_is_rhombohedral(const float cell[6], const float tolerance);
00110 
00116 int ccp4uc_is_hexagonal(const float cell[6], const float tolerance);
00117 
00118 #ifdef __cplusplus
00119 } }
00120 #endif
00121 
00122 #endif  

Generated on Mon Aug 22 2011 for gpp4 by  doxygen 1.7.1