The library operates in two modes with respect to the reflection data. If mtz->refs_in_memory
= 1 (as set e.g. by the argument to MtzGet
), then all reflection data is read into memory from the file, and can be manipulated in memory. Else if mtz->refs_in_memory
= 0 then explicit calls to ccp4_lrrefl
, ccp4_lrreff
and ccp4_lwrefl
are required to read and write reflections from/to disk.
Information on the data structure is given in mtzdata.h
MtzGet
and ccp4_lrrefl
/ ccp4_lrreff
.MtzPut
followed by MtzFree
to release the memory.
If you need to create a structure from scratch (i.e. without reading from an input file) then use MtzMalloc
, MtzOpenForWrite
, ccp4_lwsymm
, MtzAddXtal
, MtzAddDataset
, MtzAddColumn
and ccp4_lwrefl
.
The functions ccp4_lrsymi
, ccp4_lrsymm
and ccp4_lwsymm
read from and write to the symmetry sections of the data structure. No symmetry manipulations are done within the CMTZ library itself. Within CCP4, the CSYM library provides appropriate functions, but other symmetry libraries could be used.