Clipper
clipper::Symop_code Class Reference

Compressed encoded symmetry operator. More...

#include <symop.h>

Public Member Functions

 Symop_code ()
 null constructor
 Symop_code (const int &code)
 constructor: from int
 Symop_code (const Symop &op)
 constructor: from Symop
 Symop_code (const Isymop &op)
 constructor: from Isymop
void init (const Isymop &op)
 initialiser: from Isymop
Symop_code code_rot () const
 return code for rotation part
Symop_code code_trn () const
 return code for translation part
Symop symop () const
 convert to symop
Isymop isymop () const
 convert to integerised symop
 operator int () const
 convert to integer

Static Public Member Functions

static Symop_code identity ()

Detailed Description

Compressed encoded symmetry operator.

This is a compresses representation of a crystallographic symmetry operator, stored as a single 32-bit integer. It may be converted to or from a symop or an int and compared, sorted, etc. The following guarantees are made concerning the code:

  • The identity operator has a code of zero.
  • Operators with non-identity rotations will have higher codes than operators with identity rotations, for the same translation.
  • Operators with non-zero translations will have higher codes than operators with zero translations, for the same rotation.

Member Function Documentation

◆ symop()

Symop clipper::Symop_code::symop ( ) const

convert to symop

Construct a symmetry operator and initialise it to the matrix encoded in the given int.

Parameters
codeThe integer code.

◆ isymop()

Isymop clipper::Symop_code::isymop ( ) const

convert to integerised symop

Construct an integerised symmetry operator and initialise it to the matrix encoded in the given int, with a grid (base) of (24,24,24).

Parameters
codeThe integer code.

◆ identity()

Symop_code clipper::Symop_code::identity ( )
inlinestatic

identity code


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