|
Mantid
|
Unique type declaration for which dimensions are used in the input workspace. More...
#include <CoordTransformAligned.h>
Public Member Functions | |
| void | apply (const coord_t *inputVector, coord_t *outVector) const override |
| Apply the coordinate transformation. | |
| CoordTransform * | clone () const override |
| Virtual cloner. | |
| CoordTransformAligned (const size_t inD, const size_t outD, const size_t *dimensionToBinFrom, const coord_t *origin, const coord_t *scaling) | |
| Constructor. | |
| CoordTransformAligned (const size_t inD, const size_t outD, std::vector< size_t > dimensionToBinFrom, std::vector< coord_t > origin, std::vector< coord_t > scaling) | |
| Constructor. | |
| std::string | id () const override |
| Coordinate transform id. | |
| Mantid::Kernel::Matrix< coord_t > | makeAffineMatrix () const override |
| Create an equivalent affine transformation matrix out of the parameters of this axis-aligned transformation. | |
| std::string | toXMLString () const override |
| Serialize the coordinate transform. | |
Public Member Functions inherited from Mantid::API::CoordTransform | |
| Mantid::Kernel::VMD | applyVMD (const Mantid::Kernel::VMD &inputVector) const |
| Wrapper for VMD. | |
| CoordTransform (const size_t inD, const size_t outD) | |
| Constructor. | |
| size_t | getInD () const |
| size_t | getOutD () const |
| virtual | ~CoordTransform ()=default |
Protected Attributes | |
| std::vector< size_t > | m_dimensionToBinFrom |
| For each dimension in the output, index in the input workspace of which dimension it is. | |
| std::vector< coord_t > | m_origin |
| Offset (minimum) position in each of the output dimensions, sized [outD]. | |
| std::vector< coord_t > | m_scaling |
| Scaling from the input to the output dimension, sized [outD]. | |
Protected Attributes inherited from Mantid::API::CoordTransform | |
| size_t | inD |
| Input number of dimensions. | |
| size_t | outD |
| Output number of dimensions. | |
Unique type declaration for which dimensions are used in the input workspace.
Unique type declaration for the offset of coordinates Unique type declaration for the step size in transformation A restricted version of CoordTransform which transforms from one set of dimensions to another, allowing:
While a normal Affine matrix would handle this case, this special case is used in order to reduce the number of calculation.
Definition at line 38 of file CoordTransformAligned.h.
| Mantid::DataObjects::CoordTransformAligned::CoordTransformAligned | ( | const size_t | inD, |
| const size_t | outD, | ||
| const size_t * | dimensionToBinFrom, | ||
| const coord_t * | origin, | ||
| const coord_t * | scaling | ||
| ) |
Constructor.
| inD | :: input number of dimensions, >= 1 |
| outD | :: output number of dimensions, <= inD |
| dimensionToBinFrom | :: For each dimension in the output, index in the input workspace of which dimension it is |
| origin | :: Offset (minimum) position in each of the output dimensions, sized [outD] |
| scaling | :: Scaling from the input to the output dimension, sized [outD] |
| std::runtime_error | if outD > inD or if an invalid index is in dimensionToBinFrom |
Definition at line 30 of file CoordTransformAligned.cpp.
References Mantid::Geometry::d, Mantid::API::CoordTransform::inD, m_dimensionToBinFrom, m_origin, m_scaling, Mantid::API::CoordTransform::outD, and std::to_string().
| Mantid::DataObjects::CoordTransformAligned::CoordTransformAligned | ( | const size_t | inD, |
| const size_t | outD, | ||
| std::vector< size_t > | dimensionToBinFrom, | ||
| std::vector< coord_t > | origin, | ||
| std::vector< coord_t > | scaling | ||
| ) |
Constructor.
| inD | :: input number of dimensions, >= 1 |
| outD | :: output number of dimensions, <= inD |
| dimensionToBinFrom | :: For each dimension in the output, index in the input workspace of which dimension it is |
| origin | :: Offset (minimum) position in each of the output dimensions, sized [outD] |
| scaling | :: Scaling from the input to the output dimension, sized [outD] |
| std::runtime_error | if outD > inD or if an invalid index is in dimensionToBinFrom |
Definition at line 63 of file CoordTransformAligned.cpp.
References Mantid::Geometry::d, Mantid::API::CoordTransform::inD, m_dimensionToBinFrom, m_origin, m_scaling, Mantid::API::CoordTransform::outD, and std::to_string().
|
overridevirtual |
Apply the coordinate transformation.
| inputVector | :: fixed-size array of input coordinates, of size inD |
| outVector | :: fixed-size array of output coordinates, of size outD |
Implements Mantid::API::CoordTransform.
Definition at line 93 of file CoordTransformAligned.cpp.
References m_dimensionToBinFrom, m_origin, m_scaling, Mantid::API::CoordTransform::outD, and Mantid::Geometry::x.
Referenced by Mantid::MDAlgorithms::TransposeMD::exec().
|
overridevirtual |
Virtual cloner.
Implements Mantid::API::CoordTransform.
Definition at line 83 of file CoordTransformAligned.cpp.
References Mantid::API::CoordTransform::inD, m_dimensionToBinFrom, m_origin, m_scaling, and Mantid::API::CoordTransform::outD.
|
overridevirtual |
Coordinate transform id.
Implements Mantid::API::CoordTransform.
Definition at line 172 of file CoordTransformAligned.cpp.
|
overridevirtual |
Create an equivalent affine transformation matrix out of the parameters of this axis-aligned transformation.
The output can be used to merge CoordTransforms together.
Reimplemented from Mantid::API::CoordTransform.
Definition at line 112 of file CoordTransformAligned.cpp.
References Mantid::API::CoordTransform::inD, m_dimensionToBinFrom, m_origin, m_scaling, and Mantid::API::CoordTransform::outD.
|
overridevirtual |
Serialize the coordinate transform.
Implements Mantid::API::CoordTransform.
Definition at line 136 of file CoordTransformAligned.cpp.
References Mantid::API::CoordTransform::inD, and Mantid::API::CoordTransform::outD.
|
protected |
For each dimension in the output, index in the input workspace of which dimension it is.
Definition at line 54 of file CoordTransformAligned.h.
Referenced by apply(), clone(), CoordTransformAligned(), CoordTransformAligned(), and makeAffineMatrix().
|
protected |
Offset (minimum) position in each of the output dimensions, sized [outD].
Definition at line 56 of file CoordTransformAligned.h.
Referenced by apply(), clone(), CoordTransformAligned(), CoordTransformAligned(), and makeAffineMatrix().
|
protected |
Scaling from the input to the output dimension, sized [outD].
Definition at line 58 of file CoordTransformAligned.h.
Referenced by apply(), clone(), CoordTransformAligned(), CoordTransformAligned(), and makeAffineMatrix().