clipper::NXmap_base Class Reference

NXmap_base: base for non-crystallographic map class. More...

#include <nxmap.h>

Inheritance diagram for clipper::NXmap_base:

clipper::NXmap< T > clipper::NXmap< T > clipper::CNXmap< T >

List of all members.

Classes

class  Map_reference_base
 Map reference base class. More...
class  Map_reference_coord
 Map reference with coordinate-like behaviour. More...
class  Map_reference_index
 Map reference with index-like behaviour. More...

Public Member Functions

bool is_null () const
 test if object has been initialised
const Gridgrid () const
 return the grid dimensions for this map
const RTopoperator_orth_grid () const
 return the orthogonal-to-grid coordinate operator
const RTopoperator_grid_orth () const
 return the grid-to-orthogonal coordinate operator
Coord_orth coord_orth (const Coord_map &cm) const
 convert map coordinate to orthogonal
Coord_map coord_map (const Coord_orth &co) const
 convert orthogonal coordinate to map
bool in_map (const Coord_grid &pos) const
 is the given coord available in the map?
template<class I >
bool in_map (const Coord_map &cm) const
 is the given coord available in the map using the given interpolant?
int multiplicity (const Coord_grid &pos) const
 get multiplicity of a map grid point (always 1 for NXmap)
Map_reference_index first () const
 return a basic Map_reference_index for this map
Map_reference_coord first_coord () const
 return a coord Map_reference_index for this map

Protected Member Functions

 NXmap_base ()
 Null constructor, for later initialisation.
void init (const Grid &grid, const RTop<> &rt)
 initialiser: takes grid and orthogonal->grid coordinate operator
void init (const Cell &cell, const Grid_sampling &grid, const Grid_range &grid_extent)
 initialiser: takes grid, cell, and fraction limits

Protected Attributes

Grid grid_
 grid for the map
RTop rt_orth_grid
 orth->grid operator
RTop rt_grid_orth
 grid->orth operator
int du
int dv
int dw
 steps for shifts along u,v,w

Friends

class NXmap_base::Map_reference_base
class NXmap_base::Map_reference_index
class NXmap_base::Map_reference_coord


Detailed Description

NXmap_base: base for non-crystallographic map class.

The non-crystallographic map class stores a map of arbitrary data type. Unlike an Xmap it is finite in extent and has no symmetry. An RT operator provides mapping onto an arbitrary orthogonal coordinate frame. Iterators provide efficient access to data.

This base contains everything except the data, which is templated in the derived type clipper::NXmap<T>.


Constructor & Destructor Documentation

clipper::NXmap_base::NXmap_base (  )  [protected]

Null constructor, for later initialisation.

For later initialisation: see init()


Member Function Documentation

bool clipper::NXmap_base::is_null (  )  const

test if object has been initialised

Returns:
true if the object has not been initalised.

Coord_orth clipper::NXmap_base::coord_orth ( const Coord_map cm  )  const [inline]

convert map coordinate to orthogonal

Parameters:
cm The grid coordinate to be converted.
Returns:
The equivalent orthogonal coordinate.

Reimplemented in clipper::NXmap< T >, and clipper::NXmap< T >.

Coord_map clipper::NXmap_base::coord_map ( const Coord_orth co  )  const [inline]

convert orthogonal coordinate to map

Parameters:
co The orthogonal coordinate to be converted.
Returns:
The equivalent grid coordinate.

Reimplemented in clipper::NXmap< T >, and clipper::NXmap< T >.

template<class I >
bool clipper::NXmap_base::in_map ( const Coord_map cm  )  const [inline]

is the given coord available in the map using the given interpolant?

Note that the higher the order of the interpolant, the more of the boundary of the map becomes inaccessible.

Parameters:
cm The coord_map to test.
Returns:
true if interpolation can be performed at that coordinate.

void clipper::NXmap_base::init ( const Grid grid,
const RTop<> &  rt 
) [protected]

initialiser: takes grid and orthogonal->grid coordinate operator

Initialise an NXmap to some rhomboid chosen from within a crystal coordinate space, specified by the grid and a transformation from orthogonal to grid coordinates.

Parameters:
grid The grid dimensions of the desired map.
rt The rotation translation op from orthogonal to grid coordinates.

Reimplemented in clipper::NXmap< T >, and clipper::NXmap< T >.

void clipper::NXmap_base::init ( const Cell cell,
const Grid_sampling grid,
const Grid_range grid_extent 
) [protected]

initialiser: takes grid, cell, and fraction limits

Initialise an NXmap to some rhomboid chosen from within a crystal grid coordinate space, specified by a cell, sampling and box within that grid. This is useful for creating an NXmap which exactly matches some subregion of a crystallographic map.

Parameters:
cell Unit cell defining the crystal space.
grid The grid sampling of the given unit cell.
grid_extent The map extent within that cell.

Reimplemented in clipper::NXmap< T >, and clipper::NXmap< T >.


The documentation for this class was generated from the following files:

Generated on Fri Jun 12 18:03:40 2009 for Clipper by  doxygen 1.5.9