GGEMS
1.1
GPU GEant4-based Monte Carlo Simulations
|
This class handles everything about geometry transformation. More...
#include "GGEMSGeometryTransformation.hh"
Public Member Functions | |
GGEMSGeometryTransformation (void) | |
GGEMSGeometryTransformation constructor. More... | |
~GGEMSGeometryTransformation (void) | |
GGEMSGeometryTransformation destructor. More... | |
GGEMSGeometryTransformation (GGEMSGeometryTransformation const &transform_calculator)=delete | |
Avoid copy of the class by reference. More... | |
GGEMSGeometryTransformation & | operator= (GGEMSGeometryTransformation const &geometry_transformation)=delete |
Avoid assignement of the class by reference. More... | |
GGEMSGeometryTransformation (GGEMSGeometryTransformation const &&geometry_transformation)=delete | |
Avoid copy of the class by rvalue reference. More... | |
GGEMSGeometryTransformation & | operator= (GGEMSGeometryTransformation const &&geometry_transformation)=delete |
Avoid copy of the class by rvalue reference. More... | |
void | SetTranslation (GGfloat const &tx, GGfloat const &ty, GGfloat const &tz) |
Set the translation in X, Y and Z. More... | |
void | SetTranslation (GGfloat3 const &txyz) |
Set the translation in X, Y and Z. More... | |
GGfloat44 | GetMatrixTranslation (void) const |
Return the translation matrix. More... | |
void | SetRotation (GGfloat const &rx, GGfloat const &ry, GGfloat const &rz) |
Set the Rotation in X, Y and Z around global axis. More... | |
void | SetRotation (GGfloat3 const &rxyz) |
Set the rotation around global axis. More... | |
GGfloat44 | GetMatrixRotation (void) const |
Return the translation matrix. More... | |
void | SetAxisTransformation (GGfloat33 const &axis) |
Set the transformation of the frame, usefull for mirroring or convert 3D to 2D. More... | |
void | SetAxisTransformation (GGfloat3 const &m0, GGfloat3 const &m1, GGfloat3 const &m2) |
Set the transformation of the frame, usefull for mirroring or convert 3D to 2D. More... | |
GGfloat44 | GetMatrixOrthographicProjection (void) const |
return the matrix of orthographic projection More... | |
GGfloat3 | GetPosition (void) const |
Return the current position. More... | |
GGfloat3 | GetRotation (void) const |
Return the current rotation. More... | |
GGfloat33 | GetLocalAxis (void) const |
return the local axis matrix More... | |
cl::Buffer * | GetTransformationMatrix (GGsize const &index) const |
return the transformation matrix More... | |
This class handles everything about geometry transformation.
Definition at line 41 of file GGEMSGeometryTransformation.hh.
GGEMSGeometryTransformation::GGEMSGeometryTransformation | ( | void | ) |
GGEMSGeometryTransformation constructor.
Definition at line 40 of file GGEMSGeometryTransformation.cc.
GGEMSGeometryTransformation::~GGEMSGeometryTransformation | ( | void | ) |
GGEMSGeometryTransformation destructor.
Definition at line 122 of file GGEMSGeometryTransformation.cc.
|
delete |
Avoid copy of the class by reference.
geometry_transformation | - reference on the geometry transformation |
|
delete |
Avoid copy of the class by rvalue reference.
geometry_transformation | - rvalue reference on the geometry transformation |
|
inline |
return the local axis matrix
Definition at line 170 of file GGEMSGeometryTransformation.hh.
|
inline |
return the matrix of orthographic projection
Definition at line 149 of file GGEMSGeometryTransformation.hh.
|
inline |
Return the translation matrix.
Definition at line 126 of file GGEMSGeometryTransformation.hh.
|
inline |
Return the translation matrix.
Definition at line 103 of file GGEMSGeometryTransformation.hh.
|
inline |
Return the current position.
Definition at line 156 of file GGEMSGeometryTransformation.hh.
|
inline |
Return the current rotation.
Definition at line 163 of file GGEMSGeometryTransformation.hh.
|
inline |
return the transformation matrix
index | - index of device |
Definition at line 178 of file GGEMSGeometryTransformation.hh.
|
delete |
Avoid copy of the class by rvalue reference.
geometry_transformation | - rvalue reference on the geometry transformation |
|
delete |
Avoid assignement of the class by reference.
geometry_transformation | - reference on the geometry transformation |
void GGEMSGeometryTransformation::SetAxisTransformation | ( | GGfloat3 const & | m0, |
GGfloat3 const & | m1, | ||
GGfloat3 const & | m2 | ||
) |
Set the transformation of the frame, usefull for mirroring or convert 3D to 2D.
m0 | - Row 0 in the matrix 3x3 for local axis |
m1 | - Row 1 in the matrix 3x3 for local axis |
m2 | - Row 2 in the matrix 3x3 for local axis |
Definition at line 284 of file GGEMSGeometryTransformation.cc.
void GGEMSGeometryTransformation::SetAxisTransformation | ( | GGfloat33 const & | axis | ) |
Set the transformation of the frame, usefull for mirroring or convert 3D to 2D.
axis | - Matrix (3x3) that contains the mapping of the coordinates (ex. x becomes y and vice-versa). Values are 0, 1 or -1. |
Definition at line 129 of file GGEMSGeometryTransformation.hh.
void GGEMSGeometryTransformation::SetRotation | ( | GGfloat const & | rx, |
GGfloat const & | ry, | ||
GGfloat const & | rz | ||
) |
Set the Rotation in X, Y and Z around global axis.
rx | - Rotation in X |
ry | - Rotation in Y |
rz | - Rotation in Z |
Definition at line 106 of file GGEMSGeometryTransformation.hh.
void GGEMSGeometryTransformation::SetRotation | ( | GGfloat3 const & | rxyz | ) |
Set the rotation around global axis.
rxyz | - Rotation around X, Y and Z global axis |
Definition at line 275 of file GGEMSGeometryTransformation.cc.
void GGEMSGeometryTransformation::SetTranslation | ( | GGfloat const & | tx, |
GGfloat const & | ty, | ||
GGfloat const & | tz | ||
) |
Set the translation in X, Y and Z.
tx | - Translation in X |
ty | - Translation in Y |
tz | - Translation in Z |
Definition at line 143 of file GGEMSGeometryTransformation.cc.
void GGEMSGeometryTransformation::SetTranslation | ( | GGfloat3 const & | txyz | ) |
Set the translation in X, Y and Z.
txyz | - Translation in X, Y and Z |
Definition at line 187 of file GGEMSGeometryTransformation.cc.
|
private |
Matrix of local axis
Definition at line 183 of file GGEMSGeometryTransformation.hh.
|
private |
Matrix of orthographic projection
Definition at line 186 of file GGEMSGeometryTransformation.hh.
|
private |
Matrix of rotation
Definition at line 185 of file GGEMSGeometryTransformation.hh.
|
private |
OpenCL buffer storing the matrix transformation
Definition at line 187 of file GGEMSGeometryTransformation.hh.
|
private |
Matrix of translation
Definition at line 184 of file GGEMSGeometryTransformation.hh.
|
private |
Number of activated device
Definition at line 188 of file GGEMSGeometryTransformation.hh.
|
private |
Position of the source/detector
Definition at line 181 of file GGEMSGeometryTransformation.hh.
|
private |
Rotation of the source/detector
Definition at line 182 of file GGEMSGeometryTransformation.hh.