crystal_orientation Class Reference

Class for the handling of crystal orientation matrix. More...

#include <crystal_orientation.h>

List of all members.

Public Member Functions

 crystal_orientation ()
 Default constructor. Some data members are not initialized!
 crystal_orientation (oc_mat3 const &, bool const &)
 Constructor using a direct or reciprocal space matrix.
cctbx::uctbx::unit_cell unit_cell () const
 Access to direct space unit cell.
cctbx::uctbx::unit_cell unit_cell_inverse () const
 Access to reciprocal space unit cell.
oc_mat3 direct_matrix () const
 Access to direct space orientation matrix.
oc_mat3 reciprocal_matrix () const
 Access to reciprocal space orientation matrix.
crystal_orientation change_basis (cctbx::sgtbx::change_of_basis_op const &) const
 Change of basis. Return value gives mutated orientation.
crystal_orientation change_basis (oc_mat3 const &) const
 Change of basis. Return value gives mutated orientation.
template<typename FloatType>
crystal_orientation rotate_thru (oc_vec3 const &unit_axis, FloatType const &angle)
 Rotation mutator.
double direct_mean_square_difference (crystal_orientation const &other) const
 Simple measure for the similarity of two orientatons.
double difference_Z_score (crystal_orientation const &other) const
 Simple measure for the similarity of two orientatons.
oc_mat3 best_similarity_transformation (crystal_orientation const &other, double const &fractional_length_tolerance, int unimodular_generator_range=1) const
 Best change of basis for superimposing onto another orientation.


Detailed Description

Class for the handling of crystal orientation matrix.

All dimensions are in Angstroms (direct space) and inverse Angstroms (reciprocal space).

The reciprocal space matrix is a generalization of the fractionalization matrix:

                   / A*x B*x C*x \
      Matrix A* =  | A*y B*y C*y |
                   \ A*z B*z C*z /
      
The direct space matrix is a generalization of the orthogonalization matrix:
                   / Ax  Ay  Az \
      Matrix A  =  | Bx  By  Bz |
                   \ Cx  Cy  Cz /
      

Constructor & Destructor Documentation

crystal_orientation (  )  [inline]

Default constructor. Some data members are not initialized!

Not available in Python.

Referenced by crystal_orientation::rotate_thru().

crystal_orientation ( oc_mat3 const &  ,
bool const &   
) [explicit]

Constructor using a direct or reciprocal space matrix.

basis type flag: false=direct space; true=reciprocal space


Member Function Documentation

crystal_orientation change_basis ( cctbx::sgtbx::change_of_basis_op const &   )  const

Change of basis. Return value gives mutated orientation.

Input is the change of basis operator for transforming direct space vectors from the current setting to a reference setting.

crystal_orientation change_basis ( oc_mat3 const &   )  const

Change of basis. Return value gives mutated orientation.

Input is a rotation matrix, assumed to be the matrix for transforming direct space vectors from the current setting to a reference setting.

crystal_orientation rotate_thru ( oc_vec3 const &  unit_axis,
FloatType const &  angle 
) [inline]

Rotation mutator.

Right-hand rotation of the crystal about a laboratory vector through an angle expressed in radians.

References crystal_orientation::crystal_orientation(), mat3::get_column(), mat3::set_column(), and cctbx::vector_rotate_thru().

double direct_mean_square_difference ( crystal_orientation const &  other  )  const [inline]

Simple measure for the similarity of two orientatons.

The result is the mean of the squared differences between basis vectors. The basis vectors are taken in direct space. DEPRECATED 7/19/2009.

References crystal_orientation::direct_matrix().

double difference_Z_score ( crystal_orientation const &  other  )  const [inline]

Simple measure for the similarity of two orientatons.

The result is a sum of mock Z-scores for the three basis vectors of the other orientation. It assumes that the direct space vectors of this crystal orientation are distributed normally with a standard deviation of 1% of the basis vector length. Introduced 8/13/2009.

References crystal_orientation::direct_matrix(), mat3::get_row(), and vec3::length().

oc_mat3 best_similarity_transformation ( crystal_orientation const &  other,
double const &  fractional_length_tolerance,
int  unimodular_generator_range = 1 
) const

Best change of basis for superimposing onto another orientation.

Used for aligning two orientations determined independently from the same crystal sample. The rotation part of an inverse cb_op is returned.


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