gpp4  1.3.1
cmtzlib.h
Go to the documentation of this file.
1 /*
2  cmtzlib.h: header file for cmtzlib.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 
101 #ifndef __CMTZLib__
102 #define __CMTZLib__
103 
104 
105 /* defines CCP4::CCP4File */
106 #include "ccp4_utils.h"
107 
108 #ifdef __cplusplus
109 namespace CMtz {
110 extern "C" {
111 typedef CCP4::CCP4File CCP4File;
112 #endif
113 
114 /* needs to be here for C++ to use CCP4File typedef */
115 #include "mtzdata.h"
116 
117 /**** MTZ i/o ****/
118 
125 MTZ *MtzGet(const char *logname, int read_refs);
126 
138 MTZ *MtzGetUserCellTolerance(const char *logname, int read_refs, const double cell_tolerance);
139 
146 int MtzRrefl(CCP4File *filein, int ncol, float *refldata);
147 
154 int MtzPut(MTZ *mtz, const char *logname);
155 
163 CCP4File *MtzOpenForWrite(const char *logname);
164 
172 int MtzWhdrLine(CCP4File *fileout, int nitems, char buffer[]);
173 
181 int MtzWrefl(CCP4File *fileout, int ncol, float *refldata);
182 
189 int MtzDeleteRefl(MTZ *mtz, int iref);
190 
195 void MtzRewdInput(MTZ *mtz);
196 
197 /**** Memory allocation ****/
198 
210 MTZ *MtzMalloc(int nxtal, int nset[]);
211 
216 int MtzFree(MTZ *mtz);
217 
224 MTZCOL *MtzMallocCol(MTZ *mtz, int nref);
225 
230 int MtzFreeCol(MTZCOL *col);
231 
235 MTZBAT *MtzMallocBatch(void);
236 
241 int MtzFreeBatch(MTZBAT *batch);
242 
247 char *MtzCallocHist(int nhist);
248 
253 int MtzFreeHist(char *hist);
254 
260 void MtzMemTidy(void);
261 
262 /**** Header operations ****/
263 
268 int MtzNbat(const MTZ *mtz);
269 
274 int MtzNref(const MTZ *mtz);
275 
280 int MtzSpacegroupNumber(const MTZ *mtz);
281 
289 int MtzResLimits(const MTZ *mtz, float *minres, float *maxres);
290 
291 /**** Crystal operations ****/
292 
297 int MtzNxtal(const MTZ *mtz);
298 
303 int MtzNumActiveXtal(const MTZ *mtz);
304 
309 MTZXTAL **MtzXtals(MTZ *mtz);
310 
316 MTZXTAL *MtzIxtal(const MTZ *mtz, const int ixtal);
317 
324 char *MtzXtalPath(const MTZXTAL *xtal);
325 
331 MTZXTAL *MtzXtalLookup(const MTZ *mtz, const char *label);
332 
340 MTZXTAL *MtzAddXtal(MTZ *mtz, const char *xname, const char *pname,
341  const float cell[6]);
342 
347 int MtzNsetsInXtal(const MTZXTAL *xtal);
348 
353 int MtzNumActiveSetsInXtal(const MTZ *mtz, const MTZXTAL *xtal);
354 
360 MTZSET **MtzSetsInXtal(MTZXTAL *xtal);
361 
368 MTZSET *MtzIsetInXtal(const MTZXTAL *xtal, const int iset);
369 
370 /**** Dataset operations ****/
371 
376 int MtzNset(const MTZ *mtz);
377 
382 int MtzNumActiveSet(const MTZ *mtz);
383 
391 MTZXTAL *MtzSetXtal(const MTZ *mtz, const MTZSET *set);
392 
401 char *MtzSetPath(const MTZ *mtz, const MTZSET *set);
402 
409 MTZSET *MtzSetLookup(const MTZ *mtz, const char *label);
410 
418 MTZSET *MtzAddDataset(MTZ *mtz, MTZXTAL *xtl, const char *dname,
419  const float wavelength);
420 
427 int MtzNcolsInSet(const MTZSET *set);
428 
433 int MtzNumActiveColsInSet(const MTZSET *set);
434 
440 int MtzNumSourceColsInSet(const MTZSET *set);
441 
447 int MtzNbatchesInSet(const MTZ *mtz, const MTZSET *set);
448 
454 MTZCOL **MtzColsInSet(MTZSET *set);
455 
463 MTZCOL *MtzIcolInSet(const MTZSET *set, const int icol);
464 
465 /**** Column operations ****/
466 
474 MTZCOL *MtzAddColumn(MTZ *mtz, MTZSET *set, const char *label,
475  const char *type);
476 
481 int MtzAssignHKLtoBase(MTZ *mtz);
482 
495 int MtzAssignColumn(MTZ *mtz, MTZCOL *col, const char crystal_name[],
496  const char dataset_name[]);
497 
504 int MtzToggleColumn(MTZCOL *col);
505 
512 MTZSET *MtzColSet(const MTZ *mtz, const MTZCOL *col);
513 
518 int MtzNcol(const MTZ *mtz);
519 
524 int MtzNumActiveCol(const MTZ *mtz);
525 
531 int MtzNumSourceCol(const MTZ *mtz);
532 
540 char *MtzColPath(const MTZ *mtz, const MTZCOL *col);
541 
548 int MtzRJustPath(char *path, const char *partial, const int njust);
549 
555 int MtzPathMatch(const char *path1, const char *path2);
556 
562 MTZCOL *MtzColLookup(const MTZ *mtz, const char *label);
563 
568 char *MtzColType(MTZCOL *col);
569 
575 void MtzDebugHierarchy(const MTZ *mtz);
576 
584 int MtzListColumn(const MTZ *mtz, char clabs[][31], char ctyps[][3], int csetid[]);
585 
593 int MtzListInputColumn(const MTZ *mtz, char clabs[][31], char ctyps[][3], int csetid[]);
594 
595 /**** helper functions ****/
596 
605 int MtzFindInd(const MTZ *mtz, int *ind_xtal, int *ind_set, int ind_col[3]);
606 
613 float MtzInd2reso(const int in[3], const double coefhkl[6]);
614 
620 int MtzHklcoeffs(const float cell[6], double coefhkl[6]);
621 
628 int MtzArrayToBatch(const int *intbuf, const float *fltbuf, MTZBAT *batch);
629 
636 int MtzBatchToArray(MTZBAT *batch, int *intbuf, float *fltbuf);
637 
646 MTZBAT *sort_batches(MTZBAT *batch, int numbat);
647 
648 /**** pseudo-mtzlib routines ****/
649 
656 int ccp4_lrtitl(const MTZ *mtz, char *title);
657 
664 int ccp4_lrhist(const MTZ *mtz, char history[][MTZRECORDLENGTH], int nlines);
665 
671 int ccp4_lrsort(const MTZ *mtz, int isort[5]);
672 
679 int ccp4_lrbats(const MTZ *mtz, int *nbatx, int batchx[]);
680 
686 int ccp4_lrcell(const MTZXTAL *xtl, float cell[]);
687 
697 int ccp4_lrsymi(const MTZ *mtz, int *nsympx, char *ltypex, int *nspgrx,
698  char *spgrnx, char *pgnamx);
699 
711 int ccp4_lrsymi_c(const MTZ *mtz, int *nsympx, char *ltypex, int *nspgrx,
712  char *spgrnx, char *pgnamx, char *spgconf);
713 
723 int ccp4_lrsymm(const MTZ *mtz, int *nsymx, float rsymx[192][4][4]);
724 
734 int MtzParseLabin(char *labin_line, const char prog_labels[][31],
735  const int nlprgi, char user_labels[][2][31]);
736 
750 MTZCOL **ccp4_lrassn(const MTZ *mtz, const char labels[][31], const int nlabels,
751  char types[][3]);
752 
766 int ccp4_lridx(const MTZ *mtz, const MTZSET *set, char crystal_name[64],
767  char dataset_name[64], char project_name[64], int *isets,
768  float datcell[6], float *datwave);
769 
785 int ccp4_lrrefl(const MTZ *mtz, float *resol, float adata[], int logmss[], int iref);
786 
803 int ccp4_lrreff(const MTZ *mtz, float *resol, float adata[], int logmss[],
804  const MTZCOL *lookup[], const int ncols, const int iref);
805 
813 int ccp4_ismnf(const MTZ *mtz, const float datum);
814 
820 int ccp4_lhprt(const MTZ *mtz, int iprint);
821 
828 int ccp4_lhprt_adv(const MTZ *mtz, int iprint);
829 
837 int ccp4_lrbat(MTZBAT *batch, float *buf, char *charbuf, int iprint);
838 
843 int MtzPrintBatchHeader(const MTZBAT *batch);
844 
852 int ccp4_lwtitl(MTZ *mtz, const char *ftitle, int flag);
853 
863 int MtzSetSortOrder(MTZ *mtz, MTZCOL *colsort[5]);
864 
871 int MtzAddHistory(MTZ *mtz, const char history[][MTZRECORDLENGTH], const int nlines);
872 
888 int ccp4_lwsymm(MTZ *mtz, int nsymx, int nsympx, float rsymx[192][4][4],
889  char ltypex[], int nspgrx, char spgrnx[], char pgnamx[]);
890 
908 int ccp4_lwsymm_c(MTZ *mtz, int nsymx, int nsympx, float rsymx[192][4][4],
909  char ltypex[], int nspgrx, char spgrnx[], char pgnamx[],
910  char spgconf[]);
911 
917 int ccp4_lwsymconf(MTZ *mtz, char spgconf[]);
918 
919 /* Assign columns for writing. Check to see if columns already exist,
920  * else create them. New columns are assigned to the base dataset if it
921  * exists, else the first dataset.
922  * @param mtz pointer to MTZ struct
923  * @param labels Input array of column labels to be assigned.
924  * @param nlabels Number of columns.
925  * @param types Input array of column types of columns.
926  * @param iappnd If iappnd = 0, then deactivate columns which are
927  * not selected (allows one to write out a subset of columns). Else
928  * if iappnd = 1, append these columns to existing ones.
929  * @return Array of pointers to columns in MTZ struct.
930  */
931 MTZCOL **ccp4_lwassn(MTZ *mtz, const char labels[][31], const int nlabels,
932  const char types[][3], const int iappnd);
933 
934 /* Add or update a dataset in the MTZ structure. If the crystal name is
935  * not recognised, then a new crystal is created containing a single
936  * dataset. If the crystal name is recognised, then the parameters of
937  * the crystal are updated. The child dataset is then created if necessary
938  * or an existing dataset updated.
939  * Note that this function is used to update crystal parameters, as well
940  * as add crystals. If a duplicate crystal name is used by mistake, then
941  * the old crystal parameters are lost.
942  * @param mtz pointer to MTZ struct
943  * @param crystal_name Crystal name
944  * @param dataset_name Dataset name
945  * @param project_name Project name
946  * @param datcell Cell dimensions of crystal that dataset belongs to.
947  * @param datwave X-ray wavelength associated with dataset.
948  * @return 1 on success, 0 on failure
949  */
950 int ccp4_lwidx(MTZ *mtz, const char crystal_name[], const char dataset_name[],
951  const char project_name[], const float datcell[6], const float *datwave);
952 
953 
971 int ccp4_lwrefl(MTZ *mtz, const float adata[], MTZCOL *lookup[],
972  const int ncol, const int iref);
973 
987 int ccp4_lwbat(MTZ *mtz, MTZBAT *batch, const int batno, const float *buf, const char *charbuf);
988 
989 int ccp4_lwbsetid(MTZ *mtz, MTZBAT *batch, const char xname[], const char dname[]);
990 
991 /* -- Below here there are no implementations -- */
992 
993 /* COMPLEX HLToSF(float hla, float hlb, float hlc, float hld, BOOLEAN centric); */
994 /* Returns the mean structure factor as a complex number from a structure
995  factor probability distribution described by Hendrickson/Lattman
996  coefficients. If `centric == TRUE`, the coefficients describe a centric
997  distribution. */
998 
999 /* MTZ *MtzSort(MTZ *mtz, char *ident); */
1000 /* Sorts `mtz` using the identifiers (separated by spaces) in `ident` as
1001  keys. Sorting can be done on up to 200 columns. A pointer to `*mtz` is
1002  returned. */
1003 
1004 /* MTZ *HLCombine (MTZ *to, float toscale, MTZ *frm, float frmscale); */
1005 /* Combines extra phase information for common reflections between 'frm'
1006  and 'to' into the phase information of 'to'. The phase probabilities
1007  are described by Hendrickson Lattman coefficients, with the identifiers
1008  "HLA", "HLB", HLC", and "HLD", the indices are identified by "H", "K"
1009  and "L". HL-coeffs from 'to' are scaled by 'toscale', the coeffs from
1010  'frm' are scaled by 'frmscale'. A pointer to `to` is returned. */
1011 
1012 /* void MtzPhiFom(MTZ *mtz); */
1013 /* Calculates the best phase and the figure of from Hendrickson Lattman
1014  coefficients. The following columns should be present in `mtz`:
1015  "H", "K" & "L" (indices); "PHIB" & "FOM" (best phase (degrees) and figure of
1016  merit); "HLA", "HLB", "HLC" & "HLD" (Hendrickson Lattman coefficients). */
1017 
1018 /* MTZ *MtzCopy(MTZ *frm); */
1019 /* Produces an exact copy of `frm` and returns a pointer to it. */
1020 
1021 /* MTZ *MtzColAppend(MTZ *mtz, char *ident, char type); */
1022 /* Appends a column to `*mtz` with identity `ident` and type `type`, provided
1023  no column with identity `ident` exists. */
1024 
1025 /* MTZ *MtzColRemove(MTZ *mtz, char *ident); */
1026 /* Removes a column from `*mtz` with identity `ident`. */
1027 
1028 /* MTZ *MtzUpdateRanges(MTZ *mtz); */
1029 /* Updates ranges of all columns in `mtz` and returns `mtz`. */
1030 
1031 /* MTZCOL *MtzColNewRange(MTZCOL *col, int nref); */
1032 /* Updates the minimum & maximum values in `col` and returns `col`. */
1033 
1034 /* int *MtzUnique(MTZ *mtz, char *ident); */
1035 /* Returns an array (k) of indices: k[j] returns the first occurrence of a set
1036  of idents, eg. MtzUnique(mtz, "H K L") returns an array from which all the
1037  unique reflections can be determined by indexing with k: k[i] is the index
1038  of the last relection of a set which all have the same hkl indices. It is
1039  assumed that `mtz` is sorted, using `ident` as keys. */
1040 
1041 /* float PhaseProb(float phase, float hla, float hlb, float hlc, float hld,
1042  BOOLEAN centric); */
1043 /* Returns the probability of `phase` (expressed in radians) as determined by
1044  the Hendrickson-Lattman coefficients `hla`, `hlb`, `hlc` and `hld`. If
1045  `centric == TRUE`, the coefficients describe a centric distribution. */
1046 
1047 #ifdef __cplusplus
1048 } }
1049 #endif
1050 #endif
MTZSET * MtzIsetInXtal(const MTZXTAL *xtal, const int iset)
Definition: cmtzlib.c:3664
int MtzParseLabin(char *labin_line, const char prog_labels[][31], const int nlprgi, char user_labels[][2][31])
Definition: cmtzlib.c:1322
int MtzFreeHist(char *hist)
Definition: cmtzlib.c:3441
int ccp4_lwrefl(MTZ *mtz, const float adata[], MTZCOL *lookup[], const int ncol, const int iref)
Definition: cmtzlib.c:2483
int ccp4_lrtitl(const MTZ *mtz, char *title)
Definition: cmtzlib.c:1095
MTZCOL * MtzColLookup(const MTZ *mtz, const char *label)
Definition: cmtzlib.c:3871
int MtzPut(MTZ *mtz, const char *logname)
Definition: cmtzlib.c:2587
int MtzNref(const MTZ *mtz)
Definition: cmtzlib.c:3770
int ccp4_lrsymi_c(const MTZ *mtz, int *nsympx, char *ltypex, int *nspgrx, char *spgrnx, char *pgnamx, char *spgconf)
Definition: cmtzlib.c:1284
MTZSET * MtzSetLookup(const MTZ *mtz, const char *label)
Definition: cmtzlib.c:3893
MTZSET ** MtzSetsInXtal(MTZXTAL *xtal)
Definition: cmtzlib.c:3659
MTZBAT * sort_batches(MTZBAT *batch, int numbat)
Definition: cmtzlib.c:2988
Definition: mtzdata.h:54
int MtzNset(const MTZ *mtz)
Definition: cmtzlib.c:3727
int MtzNcolsInSet(const MTZSET *set)
Definition: cmtzlib.c:3669
Definition of MTZ data structure.
int ccp4_lrrefl(const MTZ *mtz, float *resol, float adata[], int logmss[], int iref)
Definition: cmtzlib.c:1498
int MtzFreeBatch(MTZBAT *batch)
Definition: cmtzlib.c:3388
MTZCOL ** MtzColsInSet(MTZSET *set)
Definition: cmtzlib.c:3712
MTZSET * MtzColSet(const MTZ *mtz, const MTZCOL *col)
Definition: cmtzlib.c:3597
int MtzBatchToArray(MTZBAT *batch, int *intbuf, float *fltbuf)
Definition: cmtzlib.c:3140
MTZCOL ** ccp4_lrassn(const MTZ *mtz, const char labels[][31], const int nlabels, char types[][3])
Definition: cmtzlib.c:1424
int ccp4_lwtitl(MTZ *mtz, const char *ftitle, int flag)
Definition: cmtzlib.c:2087
int MtzToggleColumn(MTZCOL *col)
Definition: cmtzlib.c:3586
int MtzNumActiveCol(const MTZ *mtz)
Definition: cmtzlib.c:3752
int ccp4_lwsymconf(MTZ *mtz, char spgconf[])
Definition: cmtzlib.c:2273
MTZXTAL * MtzXtalLookup(const MTZ *mtz, const char *label)
Definition: cmtzlib.c:3913
int ccp4_lrbat(MTZBAT *batch, float *buf, char *charbuf, int iprint)
Definition: cmtzlib.c:1934
int MtzNsetsInXtal(const MTZXTAL *xtal)
Definition: cmtzlib.c:3644
int MtzNxtal(const MTZ *mtz)
Definition: cmtzlib.c:3620
int MtzNumSourceCol(const MTZ *mtz)
Definition: cmtzlib.c:3761
int MtzNumSourceColsInSet(const MTZSET *set)
Definition: cmtzlib.c:3683
Definition: mtzdata.h:76
int MtzPathMatch(const char *path1, const char *path2)
Definition: cmtzlib.c:3852
MTZCOL * MtzMallocCol(MTZ *mtz, int nref)
Definition: cmtzlib.c:3401
int MtzNumActiveSet(const MTZ *mtz)
Definition: cmtzlib.c:3735
int ccp4_lrbats(const MTZ *mtz, int *nbatx, int batchx[])
Definition: cmtzlib.c:1148
MTZCOL * MtzAddColumn(MTZ *mtz, MTZSET *set, const char *label, const char *type)
Definition: cmtzlib.c:3531
int ccp4_lwbat(MTZ *mtz, MTZBAT *batch, const int batno, const float *buf, const char *charbuf)
Definition: cmtzlib.c:2377
int ccp4_lrsymi(const MTZ *mtz, int *nsympx, char *ltypex, int *nspgrx, char *spgrnx, char *pgnamx)
Definition: cmtzlib.c:1277
void MtzDebugHierarchy(const MTZ *mtz)
Definition: cmtzlib.c:1163
int MtzWhdrLine(CCP4File *fileout, int nitems, char buffer[])
Definition: cmtzlib.c:3215
MTZXTAL * MtzIxtal(const MTZ *mtz, const int ixtal)
Definition: cmtzlib.c:3639
int MtzFreeCol(MTZCOL *col)
Definition: cmtzlib.c:3424
int MtzNcol(const MTZ *mtz)
Definition: cmtzlib.c:3743
int MtzDeleteRefl(MTZ *mtz, int iref)
Definition: cmtzlib.c:2466
int MtzListColumn(const MTZ *mtz, char clabs[][31], char ctyps[][3], int csetid[])
Definition: cmtzlib.c:1197
int MtzNbat(const MTZ *mtz)
Definition: cmtzlib.c:3777
int ccp4_lrreff(const MTZ *mtz, float *resol, float adata[], int logmss[], const MTZCOL *lookup[], const int ncols, const int iref)
Definition: cmtzlib.c:1561
MTZ * MtzGet(const char *logname, int read_refs)
Definition: cmtzlib.c:69
MTZXTAL * MtzSetXtal(const MTZ *mtz, const MTZSET *set)
Definition: cmtzlib.c:3609
Definition: mtzdata.h:87
int MtzRrefl(CCP4File *filein, int ncol, float *refldata)
Definition: cmtzlib.c:981
int MtzFindInd(const MTZ *mtz, int *ind_xtal, int *ind_set, int ind_col[3])
Definition: cmtzlib.c:993
int MtzWrefl(CCP4File *fileout, int ncol, float *refldata)
Definition: cmtzlib.c:3242
MTZCOL * MtzIcolInSet(const MTZSET *set, const int icol)
Definition: cmtzlib.c:3717
#define MTZRECORDLENGTH
Definition: mtzdata.h:42
Definition: mtzdata.h:169
int ccp4_lhprt_adv(const MTZ *mtz, int iprint)
Definition: cmtzlib.c:1880
char * MtzXtalPath(const MTZXTAL *xtal)
Definition: cmtzlib.c:3789
int ccp4_lridx(const MTZ *mtz, const MTZSET *set, char crystal_name[64], char dataset_name[64], char project_name[64], int *isets, float datcell[6], float *datwave)
Definition: cmtzlib.c:1472
int ccp4_ismnf(const MTZ *mtz, const float datum)
Definition: cmtzlib.c:1651
MTZSET * MtzAddDataset(MTZ *mtz, MTZXTAL *xtl, const char *dname, const float wavelength)
Definition: cmtzlib.c:3488
int MtzNumActiveColsInSet(const MTZSET *set)
Definition: cmtzlib.c:3674
MTZ * MtzMalloc(int nxtal, int nset[])
Definition: cmtzlib.c:3252
int MtzSpacegroupNumber(const MTZ *mtz)
Definition: cmtzlib.c:1299
int ccp4_lrsymm(const MTZ *mtz, int *nsymx, float rsymx[192][4][4])
Definition: cmtzlib.c:1306
float MtzInd2reso(const int in[3], const double coefhkl[6])
Definition: cmtzlib.c:1024
char * MtzCallocHist(int nhist)
Definition: cmtzlib.c:3431
int MtzNbatchesInSet(const MTZ *mtz, const MTZSET *set)
Definition: cmtzlib.c:3692
int MtzPrintBatchHeader(const MTZBAT *batch)
Definition: cmtzlib.c:1961
int MtzResLimits(const MTZ *mtz, float *minres, float *maxres)
Definition: cmtzlib.c:1262
int MtzAssignHKLtoBase(MTZ *mtz)
Definition: cmtzlib.c:2194
int MtzRJustPath(char *path, const char *partial, const int njust)
Definition: cmtzlib.c:3837
MTZBAT * MtzMallocBatch(void)
Definition: cmtzlib.c:3371
int MtzHklcoeffs(const float cell[6], double coefhkl[6])
Definition: cmtzlib.c:1041
int MtzAssignColumn(MTZ *mtz, MTZCOL *col, const char crystal_name[], const char dataset_name[])
Definition: cmtzlib.c:2221
int MtzAddHistory(MTZ *mtz, const char history[][MTZRECORDLENGTH], const int nlines)
Definition: cmtzlib.c:2129
Definition: mtzdata.h:68
int MtzSetSortOrder(MTZ *mtz, MTZCOL *colsort[5])
Definition: cmtzlib.c:2119
CCP4File * MtzOpenForWrite(const char *logname)
Definition: cmtzlib.c:3097
int MtzFree(MTZ *mtz)
Definition: cmtzlib.c:3321
int ccp4_lrcell(const MTZXTAL *xtl, float cell[])
Definition: cmtzlib.c:1251
int MtzListInputColumn(const MTZ *mtz, char clabs[][31], char ctyps[][3], int csetid[])
Definition: cmtzlib.c:1224
int ccp4_lrhist(const MTZ *mtz, char history[][MTZRECORDLENGTH], int nlines)
Definition: cmtzlib.c:1107
MTZ * MtzGetUserCellTolerance(const char *logname, int read_refs, const double cell_tolerance)
Definition: cmtzlib.c:74
MTZXTAL ** MtzXtals(MTZ *mtz)
Definition: cmtzlib.c:3634
int MtzNumActiveSetsInXtal(const MTZ *mtz, const MTZXTAL *xtal)
Definition: cmtzlib.c:3649
char * MtzColType(MTZCOL *col)
Definition: cmtzlib.c:3722
int ccp4_lwsymm(MTZ *mtz, int nsymx, int nsympx, float rsymx[192][4][4], char ltypex[], int nspgrx, char spgrnx[], char pgnamx[])
Definition: cmtzlib.c:2280
int ccp4_lrsort(const MTZ *mtz, int isort[5])
Definition: cmtzlib.c:1123
int ccp4_lhprt(const MTZ *mtz, int iprint)
Definition: cmtzlib.c:1662
int MtzArrayToBatch(const int *intbuf, const float *fltbuf, MTZBAT *batch)
Definition: cmtzlib.c:913
int ccp4_lwsymm_c(MTZ *mtz, int nsymx, int nsympx, float rsymx[192][4][4], char ltypex[], int nspgrx, char spgrnx[], char pgnamx[], char spgconf[])
Definition: cmtzlib.c:2291
int MtzNumActiveXtal(const MTZ *mtz)
Definition: cmtzlib.c:3625
char * MtzColPath(const MTZ *mtz, const MTZCOL *col)
Definition: cmtzlib.c:3820
struct _CFileStruct CCP4File
Definition: library_file.h:38
MTZXTAL * MtzAddXtal(MTZ *mtz, const char *xname, const char *pname, const float cell[6])
Definition: cmtzlib.c:3450
void MtzMemTidy(void)
Definition: cmtzlib_f.c:107
Utility functions.
void MtzRewdInput(MTZ *mtz)
Definition: cmtzlib.c:1643
char * MtzSetPath(const MTZ *mtz, const MTZSET *set)
Definition: cmtzlib.c:3803