Spatial Transformation for cell or universe.
More...
#include <Transformation.hxx>
|
| | Transformation (double x=0, double y=0, double z=0) |
| |
| | Transformation (int Universe, double x=0, double y=0, double z=0) |
| |
| | Transformation (const Transformation &t) |
| | copy constructor
|
| |
| | ~Transformation () |
| | Destructor.
|
| |
| int | GetNumber () |
| |
| vector< vector< double > > & | GetRotationMatrix () |
| |
| vector< double > & | GetTranslationVector () |
| |
| void | FillRotationMatrix (double b1, double b2, double b3, double b4, double b5, double b6, double b7, double b8, double b9) |
| |
| void | SetTranslation (double x=0, double y=0, double z=0) |
| |
| void | SetRotation (double phi=0, double theta=0, double psi=0, string unit="deg") |
| |
| bool | IsRotationNeeded () |
| |
|
| int | fNumber |
| | The number (name) defining of the transformation.
|
| |
| vector< double > | fTranslate |
| | The displacement vector.
|
| |
| vector< vector< double > > | fRotMatrix |
| | The rotation matrix.
|
| |
| bool | fIsRotationNeeded |
| | whether or not a rotation has been done (and thus should be written)
|
| |
Spatial Transformation for cell or universe.
Transformations allow users to define cells in a local coordinate and apply a translation and/or rotation. In MCNP, this is done via TR and TRCL cards ; but the possibility of MCNP for such transformation is much more complete than the one implemented here:
- user can use TRCL card on a "standard" cell to apply the transformation
- user can use Like n but TRCL way to define cell a cell identical to cell n but with a geometrical transformation applied
- user can define transformation to universe in LatticeCell fill with universe numbers In Serpent transformations only apply to universes ; this mean that the cell (i.e. the Shape) should have a universe and the transformation will applies to ALL cells with that universe number.
- Author
- PTO
-
J. Hajnrych
-
JW
- Version
- 2.0
◆ Transformation() [1/3]
| Transformation::Transformation |
( |
double |
x = 0, |
|
|
double |
y = 0, |
|
|
double |
z = 0 |
|
) |
| |
Normal constructor.
- Parameters
-
| x | : translation along x-axis |
| y | : translation along y-axis |
| z | : translation along z-axis |
◆ Transformation() [2/3]
| Transformation::Transformation |
( |
int |
Universe, |
|
|
double |
x = 0, |
|
|
double |
y = 0, |
|
|
double |
z = 0 |
|
) |
| |
Normal constructor for universe transformation.
- Parameters
-
| Universe | : universe number to wich the transformation is applied |
| x | : translation along x-axis |
| y | : translation along y-axis |
| z | : translation along z-axis |
◆ Transformation() [3/3]
◆ ~Transformation()
| Transformation::~Transformation |
( |
| ) |
|
|
default |
◆ FillRotationMatrix()
| void Transformation::FillRotationMatrix |
( |
double |
b1, |
|
|
double |
b2, |
|
|
double |
b3, |
|
|
double |
b4, |
|
|
double |
b5, |
|
|
double |
b6, |
|
|
double |
b7, |
|
|
double |
b8, |
|
|
double |
b9 |
|
) |
| |
Define the rotation matrix from the original coordinate system (x, y, z) to local coordinate system (x', y', z').
- Parameters
-
| b1 | : cosine of the angle between x, x' |
| b2 | : cosine of the angle between y, x' |
| b3 | : cosine of the angle between z, x' |
| b4 | : cosine of the angle between x, y' |
| b5 | : cosine of the angle between y, y' |
| b6 | : cosine of the angle between z, z' |
| b7 | : cosine of the angle between x, z' |
| b8 | : cosine of the angle between y, z' |
| b9 | : cosine of the angle between z, z' |
◆ GetNumber()
| int Transformation::GetNumber |
( |
| ) |
|
|
inline |
< the number identifying the transformation
◆ GetRotationMatrix()
| vector< vector< double > > & Transformation::GetRotationMatrix |
( |
| ) |
|
|
inline |
< return the Rotation matrix
◆ GetTranslationVector()
| vector< double > & Transformation::GetTranslationVector |
( |
| ) |
|
|
inline |
< return the translation vector
◆ IsRotationNeeded()
| bool Transformation::IsRotationNeeded |
( |
| ) |
|
|
inline |
< whether or not a rotation has been done (and thus should be written)
◆ SetRotation()
| void Transformation::SetRotation |
( |
double |
phi = 0, |
|
|
double |
theta = 0, |
|
|
double |
psi = 0, |
|
|
string |
unit = "deg" |
|
) |
| |
Define the rotation matrix from the original coordinate system (x, y, z) to local coordinate system (x', y', z').
- Parameters
-
| phi | : rotation arround z |
| theta | : rotation arround y |
| psi | : rotation arround x |
| unit | : units of angle (possible value are "deg" or "rad") |
◆ SetTranslation()
| void Transformation::SetTranslation |
( |
double |
x = 0, |
|
|
double |
y = 0, |
|
|
double |
z = 0 |
|
) |
| |
|
inline |
Define the translation.
- Parameters
-
| x | : translation along x-axis |
| y | : translation along y-axis |
| z | : translation along z-axis |
◆ fIsRotationNeeded
| bool Transformation::fIsRotationNeeded |
|
private |
whether or not a rotation has been done (and thus should be written)
◆ fNumber
| int Transformation::fNumber |
|
private |
The number (name) defining of the transformation.
◆ fRotMatrix
| vector< vector < double > > Transformation::fRotMatrix |
|
private |
◆ fTranslate
| vector< double > Transformation::fTranslate |
|
private |
The documentation for this class was generated from the following files: