cctw
0.2.1
Main Page
Namespaces
Classes
Files
File List
File Members
cctw-code
cctwlib
cctwcrystalcoordinatetransform.h
Go to the documentation of this file.
1
#ifndef CCTWCRYSTALCOORDINATETRANSFORM_H
2
#define CCTWCRYSTALCOORDINATETRANSFORM_H
3
4
#include "
cctwtransforminterface.h
"
5
#include "
cctwmatrix3x3.h
"
6
#include "
cctwcrystalcoordinateparameters.h
"
7
8
class
CctwCrystalCoordinateTransform
:
public
CctwTransformInterface
9
{
10
Q_OBJECT
11
public
:
12
CctwCrystalCoordinateTransform
(
CctwCrystalCoordinateParameters
*parms, QString
name
,
const
double
*angles, QObject *parent);
13
14
public
slots:
15
16
virtual
bool
hasInverse
()
const
;
17
18
virtual
CctwDoubleVector3D
forward
(
CctwDoubleVector3D
d);
19
// Transform from input to output space coordinates
20
virtual
CctwDoubleVector3D
inverse
(
CctwDoubleVector3D
q);
21
// Back transform from output to input space coordinates
22
23
void
updateFromParameters
();
24
void
setCurrentFrame
(
double
frame);
25
26
double
changeCount
();
27
void
report
();
28
29
CctwDoubleMatrix3x3
createBMatrix
(
const
CctwUnitCell
&cell)
const
;
30
31
CctwDoubleVector3D
getDetPos
(
double
x,
double
y);
32
CctwDoubleVector3D
getDetPos
(
CctwDoubleVector3D
xyz);
33
CctwDoubleVector3D
pixel2qlab
(
double
x,
double
y,
double
z);
34
CctwDoubleVector3D
pixel2qlab
(
CctwDoubleVector3D
pixel);
35
CctwDoubleVector3D
qlab2hkl
(
double
qx,
double
qy,
double
qz);
36
CctwDoubleVector3D
qlab2hkl
(
CctwDoubleVector3D
qlab);
37
CctwDoubleVector3D
hkl2grid
(
double
h,
double
k,
double
l);
38
CctwDoubleVector3D
hkl2grid
(
CctwDoubleVector3D
hkl);
39
CctwDoubleVector3D
grid2hkl
(
double
gx,
double
gy,
double
gz);
40
CctwDoubleVector3D
grid2hkl
(
CctwDoubleVector3D
grid);
41
CctwDoubleVector3D
hkl2qlab
(
double
h,
double
k,
double
l);
42
CctwDoubleVector3D
hkl2qlab
(
CctwDoubleVector3D
hkl);
43
CctwDoubleVector3D
qlab2pixel
(
double
qx,
double
qy,
double
qz);
44
CctwDoubleVector3D
qlab2pixel
(
CctwDoubleVector3D
qlab);
45
CctwDoubleVector3D
getDetPix
(
double
x,
double
y,
double
z);
46
CctwDoubleVector3D
getDetPix
(
CctwDoubleVector3D
xyz);
47
48
double
twoThetaAngle
() {
return
m_TwoThetaAngle
; }
49
double
omegaAngle
() {
return
m_OmegaAngle
; }
50
double
chiAngle
() {
return
m_ChiAngle
; }
51
double
phiAngle
() {
return
m_PhiAngle
; }
52
53
CctwDoubleMatrix3x3
bMat
() {
return
m_BMat
; }
54
CctwDoubleMatrix3x3
uMat
() {
return
m_UMat
; }
55
CctwDoubleMatrix3x3
gMat
() {
return
m_GMat
; }
56
CctwDoubleMatrix3x3
dMat
() {
return
m_DMat
; }
57
CctwDoubleMatrix3x3
oMat
() {
return
m_OMat
; }
58
CctwDoubleVector3D
oVec
() {
return
m_OVec
; }
59
60
CctwDoubleMatrix3x3
ubMatInv
() {
return
m_UBMatInv
; }
61
CctwDoubleMatrix3x3
gridBasisInv
() {
return
m_GridBasisInv
; }
62
CctwDoubleMatrix3x3
bMatInv
() {
return
m_BMatInv
; }
63
CctwDoubleMatrix3x3
uMatInv
() {
return
m_UMatInv
; }
64
CctwDoubleMatrix3x3
gMatInv
() {
return
m_GMatInv
; }
65
CctwDoubleMatrix3x3
dMatInv
() {
return
m_DMatInv
; }
66
CctwDoubleMatrix3x3
oMatInv
() {
return
m_OMatInv
; }
67
68
CctwDoubleVector3D
cdVec
() {
return
m_CD
; }
69
CctwDoubleVector3D
ndVec
() {
return
m_ND
; }
70
71
private
:
72
CctwCrystalCoordinateParameters
*
m_Parms
;
73
74
double
m_CurrentFrame
;
75
int
m_CurrentFrameChangeCount
;
76
77
const
double
*
m_Angles
;
78
79
public
:
80
double
m_TwoThetaAngle
;
81
double
m_OmegaAngle
;
82
double
m_ChiAngle
;
83
double
m_PhiAngle
;
84
85
CctwDoubleMatrix3x3
m_BMat
;
86
CctwDoubleMatrix3x3
m_UMat
;
87
CctwDoubleMatrix3x3
m_GMat
;
88
CctwDoubleMatrix3x3
m_DMat
;
89
CctwDoubleMatrix3x3
m_OMat
;
90
CctwDoubleVector3D
m_OVec
;
91
92
private
:
93
CctwDoubleMatrix3x3
m_UBMatInv
;
94
CctwDoubleMatrix3x3
m_GridBasisInv
;
95
CctwDoubleMatrix3x3
m_BMatInv
;
96
CctwDoubleMatrix3x3
m_UMatInv
;
97
CctwDoubleMatrix3x3
m_GMatInv
;
98
CctwDoubleMatrix3x3
m_DMatInv
;
99
CctwDoubleMatrix3x3
m_OMatInv
;
100
101
CctwDoubleVector3D
m_CD
;
102
CctwDoubleVector3D
m_ND
;
103
};
104
105
#endif // CCTWCRYSTALCOORDINATETRANSFORM_H
CctwCrystalCoordinateTransform::m_Parms
CctwCrystalCoordinateParameters * m_Parms
Definition:
cctwcrystalcoordinatetransform.h:72
CctwCrystalCoordinateTransform::oVec
CctwDoubleVector3D oVec()
Definition:
cctwcrystalcoordinatetransform.h:58
CctwCrystalCoordinateTransform::m_BMatInv
CctwDoubleMatrix3x3 m_BMatInv
Definition:
cctwcrystalcoordinatetransform.h:95
CctwCrystalCoordinateTransform::createBMatrix
CctwDoubleMatrix3x3 createBMatrix(const CctwUnitCell &cell) const
Definition:
cctwcrystalcoordinatetransform.cpp:106
CctwCrystalCoordinateTransform::cdVec
CctwDoubleVector3D cdVec()
Definition:
cctwcrystalcoordinatetransform.h:68
CctwCrystalCoordinateTransform::hkl2grid
CctwDoubleVector3D hkl2grid(double h, double k, double l)
Definition:
cctwcrystalcoordinatetransform.cpp:204
CctwCrystalCoordinateTransform::bMatInv
CctwDoubleMatrix3x3 bMatInv()
Definition:
cctwcrystalcoordinatetransform.h:62
CctwCrystalCoordinateTransform::changeCount
double changeCount()
Definition:
cctwcrystalcoordinatetransform.cpp:92
CctwCrystalCoordinateTransform::m_OVec
CctwDoubleVector3D m_OVec
Definition:
cctwcrystalcoordinatetransform.h:90
CctwCrystalCoordinateTransform::dMat
CctwDoubleMatrix3x3 dMat()
Definition:
cctwcrystalcoordinatetransform.h:56
cctwcrystalcoordinateparameters.h
CctwObject::name
QString name
Definition:
cctwobject.h:32
CctwCrystalCoordinateTransform::chiAngle
double chiAngle()
Definition:
cctwcrystalcoordinatetransform.h:50
CctwCrystalCoordinateTransform::updateFromParameters
void updateFromParameters()
Definition:
cctwcrystalcoordinatetransform.cpp:14
CctwCrystalCoordinateTransform::ubMatInv
CctwDoubleMatrix3x3 ubMatInv()
Definition:
cctwcrystalcoordinatetransform.h:60
CctwCrystalCoordinateTransform::m_Angles
const double * m_Angles
Definition:
cctwcrystalcoordinatetransform.h:77
CctwCrystalCoordinateTransform::setCurrentFrame
void setCurrentFrame(double frame)
Definition:
cctwcrystalcoordinatetransform.cpp:36
CctwUnitCell
Definition:
cctwunitcell.h:9
CctwCrystalCoordinateTransform::getDetPos
CctwDoubleVector3D getDetPos(double x, double y)
Definition:
cctwcrystalcoordinatetransform.cpp:156
CctwCrystalCoordinateTransform::hasInverse
virtual bool hasInverse() const
Definition:
cctwcrystalcoordinatetransform.cpp:134
CctwCrystalCoordinateTransform::pixel2qlab
CctwDoubleVector3D pixel2qlab(double x, double y, double z)
Definition:
cctwcrystalcoordinatetransform.cpp:169
CctwCrystalCoordinateParameters
Definition:
cctwcrystalcoordinateparameters.h:10
CctwCrystalCoordinateTransform::m_UMat
CctwDoubleMatrix3x3 m_UMat
Definition:
cctwcrystalcoordinatetransform.h:86
CctwCrystalCoordinateTransform::oMat
CctwDoubleMatrix3x3 oMat()
Definition:
cctwcrystalcoordinatetransform.h:57
CctwCrystalCoordinateTransform::bMat
CctwDoubleMatrix3x3 bMat()
Definition:
cctwcrystalcoordinatetransform.h:53
CctwCrystalCoordinateTransform::m_GMat
CctwDoubleMatrix3x3 m_GMat
Definition:
cctwcrystalcoordinatetransform.h:87
CctwCrystalCoordinateTransform::report
void report()
Definition:
cctwcrystalcoordinatetransform.cpp:97
CctwCrystalCoordinateTransform::m_GMatInv
CctwDoubleMatrix3x3 m_GMatInv
Definition:
cctwcrystalcoordinatetransform.h:97
CctwCrystalCoordinateTransform::m_DMat
CctwDoubleMatrix3x3 m_DMat
Definition:
cctwcrystalcoordinatetransform.h:88
CctwCrystalCoordinateTransform::m_CD
CctwDoubleVector3D m_CD
Definition:
cctwcrystalcoordinatetransform.h:101
CctwCrystalCoordinateTransform::m_TwoThetaAngle
double m_TwoThetaAngle
Definition:
cctwcrystalcoordinatetransform.h:80
CctwCrystalCoordinateTransform::twoThetaAngle
double twoThetaAngle()
Definition:
cctwcrystalcoordinatetransform.h:48
CctwCrystalCoordinateTransform::gridBasisInv
CctwDoubleMatrix3x3 gridBasisInv()
Definition:
cctwcrystalcoordinatetransform.h:61
CctwCrystalCoordinateTransform::uMatInv
CctwDoubleMatrix3x3 uMatInv()
Definition:
cctwcrystalcoordinatetransform.h:63
cctwmatrix3x3.h
CctwTransformInterface
Definition:
cctwtransforminterface.h:7
CctwCrystalCoordinateTransform::uMat
CctwDoubleMatrix3x3 uMat()
Definition:
cctwcrystalcoordinatetransform.h:54
CctwVector3D< double >
CctwCrystalCoordinateTransform::hkl2qlab
CctwDoubleVector3D hkl2qlab(double h, double k, double l)
Definition:
cctwcrystalcoordinatetransform.cpp:242
CctwCrystalCoordinateTransform::m_UMatInv
CctwDoubleMatrix3x3 m_UMatInv
Definition:
cctwcrystalcoordinatetransform.h:96
CctwCrystalCoordinateTransform::m_OMatInv
CctwDoubleMatrix3x3 m_OMatInv
Definition:
cctwcrystalcoordinatetransform.h:99
CctwCrystalCoordinateTransform::m_OMat
CctwDoubleMatrix3x3 m_OMat
Definition:
cctwcrystalcoordinatetransform.h:89
CctwCrystalCoordinateTransform::oMatInv
CctwDoubleMatrix3x3 oMatInv()
Definition:
cctwcrystalcoordinatetransform.h:66
CctwCrystalCoordinateTransform::m_OmegaAngle
double m_OmegaAngle
Definition:
cctwcrystalcoordinatetransform.h:81
CctwCrystalCoordinateTransform::m_DMatInv
CctwDoubleMatrix3x3 m_DMatInv
Definition:
cctwcrystalcoordinatetransform.h:98
CctwCrystalCoordinateTransform::dMatInv
CctwDoubleMatrix3x3 dMatInv()
Definition:
cctwcrystalcoordinatetransform.h:65
CctwCrystalCoordinateTransform::omegaAngle
double omegaAngle()
Definition:
cctwcrystalcoordinatetransform.h:49
CctwCrystalCoordinateTransform::qlab2pixel
CctwDoubleVector3D qlab2pixel(double qx, double qy, double qz)
Definition:
cctwcrystalcoordinatetransform.cpp:252
CctwCrystalCoordinateTransform
Definition:
cctwcrystalcoordinatetransform.h:8
CctwCrystalCoordinateTransform::grid2hkl
CctwDoubleVector3D grid2hkl(double gx, double gy, double gz)
Definition:
cctwcrystalcoordinatetransform.cpp:223
CctwCrystalCoordinateTransform::gMat
CctwDoubleMatrix3x3 gMat()
Definition:
cctwcrystalcoordinatetransform.h:55
CctwCrystalCoordinateTransform::forward
virtual CctwDoubleVector3D forward(CctwDoubleVector3D d)
Definition:
cctwcrystalcoordinatetransform.cpp:139
CctwCrystalCoordinateTransform::m_CurrentFrame
double m_CurrentFrame
Definition:
cctwcrystalcoordinatetransform.h:74
CctwCrystalCoordinateTransform::inverse
virtual CctwDoubleVector3D inverse(CctwDoubleVector3D q)
Definition:
cctwcrystalcoordinatetransform.cpp:146
CctwCrystalCoordinateTransform::phiAngle
double phiAngle()
Definition:
cctwcrystalcoordinatetransform.h:51
CctwCrystalCoordinateTransform::m_GridBasisInv
CctwDoubleMatrix3x3 m_GridBasisInv
Definition:
cctwcrystalcoordinatetransform.h:94
CctwCrystalCoordinateTransform::m_CurrentFrameChangeCount
int m_CurrentFrameChangeCount
Definition:
cctwcrystalcoordinatetransform.h:75
CctwCrystalCoordinateTransform::m_ChiAngle
double m_ChiAngle
Definition:
cctwcrystalcoordinatetransform.h:82
CctwCrystalCoordinateTransform::m_ND
CctwDoubleVector3D m_ND
Definition:
cctwcrystalcoordinatetransform.h:102
CctwCrystalCoordinateTransform::gMatInv
CctwDoubleMatrix3x3 gMatInv()
Definition:
cctwcrystalcoordinatetransform.h:64
CctwCrystalCoordinateTransform::m_BMat
CctwDoubleMatrix3x3 m_BMat
Definition:
cctwcrystalcoordinatetransform.h:85
CctwCrystalCoordinateTransform::m_UBMatInv
CctwDoubleMatrix3x3 m_UBMatInv
Definition:
cctwcrystalcoordinatetransform.h:93
CctwCrystalCoordinateTransform::CctwCrystalCoordinateTransform
CctwCrystalCoordinateTransform(CctwCrystalCoordinateParameters *parms, QString name, const double *angles, QObject *parent)
Definition:
cctwcrystalcoordinatetransform.cpp:4
cctwtransforminterface.h
CctwCrystalCoordinateTransform::qlab2hkl
CctwDoubleVector3D qlab2hkl(double qx, double qy, double qz)
Definition:
cctwcrystalcoordinatetransform.cpp:194
CctwCrystalCoordinateTransform::getDetPix
CctwDoubleVector3D getDetPix(double x, double y, double z)
Definition:
cctwcrystalcoordinatetransform.cpp:283
CctwMatrix3x3< double >
CctwCrystalCoordinateTransform::ndVec
CctwDoubleVector3D ndVec()
Definition:
cctwcrystalcoordinatetransform.h:69
CctwCrystalCoordinateTransform::m_PhiAngle
double m_PhiAngle
Definition:
cctwcrystalcoordinatetransform.h:83
Generated on Thu Mar 17 2016 15:17:35 for cctw by
1.8.10