gpp4  1.3.1
mtzdata.h
Go to the documentation of this file.
1 /*
2  mtzdata.h: Definition of MTZ data structure.
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 
30 #ifndef __CMTZData__
31 #define __CMTZData__
32 
33 #define MTZVERSN "MTZ:V1.1"
34 #define MTZ_MAJOR_VERSN 1
35 #define MTZ_MINOR_VERSN 1
36 #define CCP4_MTZDATA 20100630
40 #define SIZE1 20
41 #define MTZRECORDLENGTH 80
42 #define MAXSPGNAMELENGTH 20
44 #define NBATCHWORDS 185
45 #define NBATCHINTEGERS 29
46 #define NBATCHREALS 156
48 #define MXTALS 100
49 #define MSETS 1000
50 #define MCOLUMNS 10000
53 typedef struct { char label[31];
54  char type[3];
55  int active;
56  unsigned int source;
57  float min;
58  float max;
59  float *ref;
60  char colsource[37];
61  char grpname[31];
62  char grptype[5];
63  int grpposn;
64  } MTZCOL;
65 
67 typedef struct { int setid;
68  char dname[65];
69  float wavelength;
70  int ncol;
71  MTZCOL **col;
72  } MTZSET;
73 
75 typedef struct { int xtalid;
76  char xname[65];
77  char pname[65];
78  float cell[6];
79  float resmin;
80  float resmax;
81  int nset;
82  MTZSET **set;
83  } MTZXTAL;
84 
86 typedef struct bathead { int num;
87  char title[71];
88  char gonlab[3][9];
89  int iortyp;
91  int lbcell[6];
92  int misflg;
93  int jumpax;
95  int ncryst;
96  int lcrflg;
98  int ldtype;
100  int jsaxs;
101  int nbscal;
103  int ngonax;
104  int lbmflg;
107  int ndet;
109  int nbsetid;
110  float cell[6];
111  float umat[9];
113  float phixyz[2][3];
115  float crydat[12];
116  float datum[3];
117  float phistt;
118  float phiend;
119  float scanax[3];
120  float time1;
121  float time2;
122  float bscale;
123  float bbfac;
124  float sdbscale;
125  float sdbfac;
126  float phirange;
127  float e1[3];
129  float e2[3];
131  float e3[3];
133  float source[3];
134  float so[3];
135  float alambd;
136  float delamb;
137  float delcor;
138  float divhd;
139  float divvd;
140  float dx[2];
141  float theta[2];
142  float detlm[2][2][2];
144  struct bathead *next;
145  } MTZBAT;
146 
148 typedef struct { int spcgrp;
149  char spcgrpname[MAXSPGNAMELENGTH+1];
150  int nsym;
151  float sym[192][4][4];
153  int nsymp;
154  char symtyp;
155  char pgname[11];
156  char spg_confidence;
161  } SYMGRP;
162 
163 typedef union { char amnf[4];
164  float fmnf;
165  } MNF;
166 
168 typedef struct { CCP4File *filein;
170  char title[71];
171  char *hist;
172  int histlines;
173  int nxtal;
174  int ncol_read;
175  int nref;
179  float resmax_out;
180  float resmin_out;
185  MTZCOL *order[5];
186  char *xml;
189  } MTZ;
190 
191 #endif