scala::Scell Class Reference

Unit cell class. More...

#include <hkl_datatypes.hh>

List of all members.

Public Member Functions

 Scell (const std::vector< Dtype > &rcell)
 constructor from real cell vector
 Scell (const float *cell)
 constructor from real cell vector
 Scell (const MetricTensor &metric_tensor, const bool real=true)
 construct from real [default] or reciprocal metric tensor
 Scell (const clipper::Cell &ccell)
 construct from clipper::Cell
 Scell (const double &a, const double &b, const double &c, const double &alpha, const double &beta, const double &gamma)
 construct from real cell
void init (const std::vector< Dtype > &rcell)
 initialise from cell vector
std::string formatPrint (const bool &newline=true) const
 simple print
void dump () const
 fuller debug print
Mat33< Dtype > Bmat () const
 return orthogonalisation matrix [B]
MetricTensor rec_metric_tensor () const
 return reciprocal metric tensor
std::vector< Dtype > UnitCell () const
 return real cell as a vector
std::vector< Dtype > ReciprocalCell () const
 return reciprocal cell as a vector
const Dtype & operator[] (const int &i) const
 return cell element
Scell change_basis (const ReindexOp &reindex_op) const
 change basis: apply reindex operator
std::string format (const int w=7, const int p=4) const
 format cell
std::string xml () const
 return XML representation
clipper::Cell ClipperCell () const
 return clipper::Cell
double Volume () const
 return cell volume
bool AngleTest (const double &AlphaTest, const double &BetaTest, const double &GammaTest, const double Tol=0.2) const
 return true if all angles are within Tol of given test values
bool equals (const Scell &other, const double &tolA=0.02, const double &tolD=0.02) const
 returns true if cells agree within "tolerances" in A & degrees
bool equalsTol (const Scell &other, const double &AngularTolerance) const
 returns true if cells agree within "tolerances" in degrees (lengths & angles)
double Difference (const Scell &other) const
 "difference" between two cells in A, maximum allowed distance
bool null () const
 returns true if any value is close to zero

Detailed Description

Unit cell class.

This has a different orthogonalisation convention to that in clipper::Cell. This one follows the "Cambridge" convention used in Mosflm, Scala etc


Member Function Documentation

Scell scala::Scell::change_basis ( const ReindexOp reindex_op  )  const

change basis: apply reindex operator

if [H] is reindex operator (ignoring translations) [B] current orthogonalisation matrix new [UB]' = [B] [H]T^-1 new reciprocal metric tensor [B']T[B] = [UB]'T [UB]' -> new cell

double scala::Scell::Difference ( const Scell other  )  const

"difference" between two cells in A, maximum allowed distance

If the "difference" between cells is greater than half the resolution, then a reflection may be mapped on to the next reflection in the other cell


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations Friends
Generated on Tue Mar 1 11:22:31 2011 for Pointless by  doxygen 1.6.3