asym_index Class Reference

Selection of an asymmetric Miller index. More...

#include <asu.h>

Inheritance diagram for asym_index:

sym_equiv_index

List of all members.

Public Member Functions

 asym_index ()
 Default constructor. Some data members are not initialized!
 asym_index (sgtbx::space_group const &space_group, sgtbx::reciprocal_space::asu const &asu, index<> const &h)
 Selection of an asymmetric Miller index.
 asym_index (sgtbx::space_group const &space_group, index<> const &h)
 Selection of a "pretty" index for human-readable listings, given symmetry operations and an input index.
 asym_index (sym_equiv_indices const &h_eq)
 Selection of a "pretty" index for human-readable listings, given a list of symmetrically equivalent Miller indices.
index_table_layout_adaptor one_column (bool anomalous_flag) const
 Adaptor for one-column table of asymmetric Miller indices.
index_table_layout_adaptor two_column (bool anomalous_flag) const
 Adaptor for two-column table of asymmetric Miller indices.


Detailed Description

Selection of an asymmetric Miller index.

The selection of a particular asymmetric Miller index amongst symmetrically equivalent Miller indices is based on class sgtbx::reciprocal_space::asu, or alternatively on an ad hoc scheme for the determination of the "prettiest" index for human- readable listings.

Friedel's law is always considered in the determination of the asymmetric index. friedel_flag() indicates if Friedel's law was actually applied.

Support for one- and two-column data layouts is provided using the class index_table_layout_adaptor:


Constructor & Destructor Documentation

asym_index ( sgtbx::space_group const &  space_group,
sgtbx::reciprocal_space::asu const &  asu,
index<> const &  h 
)

Selection of an asymmetric Miller index.

The asymmetric index is determined as the product of the index h and the symmetry operation of sgtbx::space_group which maps h into the reciprocal space asymmetric unit (sgtbx::reciprocal_space::asu).

asym_index ( sgtbx::space_group const &  space_group,
index<> const &  h 
)

Selection of a "pretty" index for human-readable listings, given symmetry operations and an input index.

The selection is based on miller::index<>::operator<(). The asymmetric unit from which the indices are selected is not necessarily contiguous.

asym_index ( sym_equiv_indices const &  h_eq  ) 

Selection of a "pretty" index for human-readable listings, given a list of symmetrically equivalent Miller indices.

The selection is based on miller::index<>::operator<(). The asymmetric unit from which the indices are selected is not necessarily contiguous.


Member Function Documentation

index_table_layout_adaptor one_column ( bool  anomalous_flag  )  const [inline]

Adaptor for one-column table of asymmetric Miller indices.

anomalous_flag == false and only one value is stored for a Friedel pair:

           h  k  l  F
The values associated with h,k,l and -h,-k,-l are assumed to be equal, and the phases are related by the equation phi(h,k,l) = -phi(-h,-k,-l).

anomalous_flag == true (i.e. in the presence of an anomalous signal):

            h  k  l  F
           -h -k -l  F
There is a separate entry for each Friedel mate in a table.

index_table_layout_adaptor two_column ( bool  anomalous_flag  )  const [inline]

Adaptor for two-column table of asymmetric Miller indices.

anomalous_flag == false: same as one_column(). Only one column is used. Provided for completeness.

anomalous_flag == true:

            h  k  l  F+  F-
Both Friedel mates are associated with the same index in a table. The Miller index for F+ is (h, k, l) and the implied Miller index for F- is (-h, -k, -l).


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

Generated on Tue Sep 1 17:12:31 2009 for cctbx by  doxygen 1.5.6