All crystallographic tasks depend upon the spacegroup and cell classes, so read their documentation. The cell class is clipper::Cell, and the spacegroup class is clipper::Spacegroup. You may want to look at their parent classes, Cell_descr, and clipper::Spgr_descr, which are used to initialise the classes if the information is not coming from a file.

Documentation for reflection-related problems.

The fundamental types which hold lists of HKL's and lists of associated reflection data (e.g. F's, phases, etc.) are clipper::HKL_info and clipper::HKL_data<T>.

clipper::HKL_data<T> is a template class which can be used to hold any kind of data. A range of common datatypes are provided which you can store in this object: Look at the derived classes of clipper::Datatype_base for a list. Alternatively, you can add your own.

Most common reflection data conversions have built in methods. Look at the clipper::HKL_data<T>::compute() method. For operators to use with it, look at the class listing for classes labelled clipper::datatypes::Compute_*.

Documentation for map-related problems.

Crystallographic maps are handled by the clipper::Xmap<T> class. Calculation of FFT's to and from reciprocal space is build in to this class, as are interpolation methods. The clipper::Map_stats class provides tools for calculating map statistics.

Calculation of maps and masks from atomic coordinates is handled in the contrib package by the EDcalc- and MASKcalc- classes. Filtering of maps and calculation of masks is aided by the MapFilter- classes in the contrib package.

Non-crystallographic maps (i.e. maps with no symmetry or cell repeat) are handled by the clipper::NXmap<T> class. Non-crystallographic maps may be referred into a crystallographic frame using the clipper::NXoperator class.

To calculate structure factors, maps, or masks from a coordinate model, look at the SFcalc-, EDcalc-, and MASKcalc- classes in the contrib package.

Task index

This section describes the documentation which might help when addressing a particular crystallographic task.

Molecular Replacement.

Rotations are handled in a generic form as Quaternions by the clipper::Rotation class. These may be converted to and from Polar angles, Euler angles (24 conventions), and matrix representations. See the clipper::Polar_ccp4, clipper::Euler_ccp4, clipper::Euler<T>, and clipper::Mat33<T> classes.