Bsoft 2.1.4
Bernard's software package
UnitCell Class Reference

#include <UnitCell.h>

Public Member Functions

 UnitCell ()
 
 UnitCell (double *v)
 
 UnitCell (vector< double > &v)
 
 UnitCell (double a, double b, double c, double alf, double bet, double gam)
 
 UnitCell (Vector3< double > v, double alf, double bet, double gam)
 
 UnitCell (Vector3< double > v)
 
double & operator[] (int i)
 
bool check ()
 
void size (double a, double b, double c)
 
void size (Vector3< double > v)
 
void angles (double a, double b, double g)
 
void a (double d)
 
void b (double d)
 
void c (double d)
 
void alpha (double d)
 
void beta (double d)
 
void gamma (double d)
 
double a ()
 
double b ()
 
double c ()
 
double alpha ()
 
double beta ()
 
double gamma ()
 
void set_angle_range ()
 
void degrees_to_radians ()
 
void radians_to_degrees ()
 
double volume ()
 
Matrix3 skew_matrix ()
 Calculates the skew matrix from the unit cell parameters. More...
 
Matrix3 skew_matrix_inverse ()
 
Matrix3 skew_rotation (int invert)
 

Constructor & Destructor Documentation

◆ UnitCell() [1/6]

UnitCell::UnitCell ( )
inline

◆ UnitCell() [2/6]

UnitCell::UnitCell ( double *  v)
inline

◆ UnitCell() [3/6]

UnitCell::UnitCell ( vector< double > &  v)
inline

◆ UnitCell() [4/6]

UnitCell::UnitCell ( double  a,
double  b,
double  c,
double  alf,
double  bet,
double  gam 
)
inline

◆ UnitCell() [5/6]

UnitCell::UnitCell ( Vector3< double >  v,
double  alf,
double  bet,
double  gam 
)
inline

◆ UnitCell() [6/6]

UnitCell::UnitCell ( Vector3< double >  v)
inline

Member Function Documentation

◆ a() [1/2]

double UnitCell::a ( )
inline

◆ a() [2/2]

void UnitCell::a ( double  d)
inline

◆ alpha() [1/2]

double UnitCell::alpha ( )
inline

◆ alpha() [2/2]

void UnitCell::alpha ( double  d)
inline

◆ angles()

void UnitCell::angles ( double  a,
double  b,
double  g 
)
inline

◆ b() [1/2]

double UnitCell::b ( )
inline

◆ b() [2/2]

void UnitCell::b ( double  d)
inline

◆ beta() [1/2]

double UnitCell::beta ( )
inline

◆ beta() [2/2]

void UnitCell::beta ( double  d)
inline

◆ c() [1/2]

double UnitCell::c ( )
inline

◆ c() [2/2]

void UnitCell::c ( double  d)
inline

◆ check()

bool UnitCell::check ( )
inline

◆ degrees_to_radians()

void UnitCell::degrees_to_radians ( )
inline

◆ gamma() [1/2]

double UnitCell::gamma ( )
inline

◆ gamma() [2/2]

void UnitCell::gamma ( double  d)
inline

◆ operator[]()

double & UnitCell::operator[] ( int  i)
inline

◆ radians_to_degrees()

void UnitCell::radians_to_degrees ( )
inline

◆ set_angle_range()

void UnitCell::set_angle_range ( )
inline

◆ size() [1/2]

void UnitCell::size ( double  a,
double  b,
double  c 
)
inline

◆ size() [2/2]

void UnitCell::size ( Vector3< double >  v)
inline

◆ skew_matrix()

Matrix3 UnitCell::skew_matrix ( )

Calculates the skew matrix from the unit cell parameters.

Returns
Matrix3 the 3x3 skew matrix.
Derived from the X-plor source rotate.s.
New coordinates are obtained by r'(i)=sum_j matrix(i,j)*r(j)
The convention to setup the matrices is as follows:
    a lies on the x-axis, 
    b lies in the x,y plane. 

◆ skew_matrix_inverse()

Matrix3 UnitCell::skew_matrix_inverse ( )

◆ skew_rotation()

Matrix3 UnitCell::skew_rotation ( int  invert)

◆ volume()

double UnitCell::volume ( )
inline

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