Class describing a 3 dimensional translation.
It can be combined (using the operator *) with the ROOT::Math::Rotation3D classes and ROOT::Math::Transform3D to obtained combined transformations and to operate on points and vectors. Note that a the translation applied to a Vector object (DisplacementVector3D and LorentzVector classes) performes a noop, i.e. it returns the same vector. A translation can be applied only to the Point objects (PositionVector3D classes).
Definition at line 51 of file Translation3D.h.
Public Types | |
typedef T | Scalar |
typedef DisplacementVector3D< Cartesian3D< T >, DefaultCoordinateSystemTag > | Vector |
Public Member Functions | |
Translation3D () | |
Default constructor ( zero translation ) | |
template<class CoordSystem , class Tag > | |
Translation3D (const DisplacementVector3D< CoordSystem, Tag > &v) | |
Construct from any Displacement vector in ant tag and coordinate system. | |
template<class CoordSystem , class Tag > | |
Translation3D (const PositionVector3D< CoordSystem, Tag > &p1, const PositionVector3D< CoordSystem, Tag > &p2) | |
Construct transformation from one coordinate system defined one point (the origin) to a new coordinate system defined by other point (origin ) | |
template<class IT > | |
Translation3D (IT begin, IT end) | |
Construct given a pair of pointers or iterators defining the beginning and end of an array of 3 Scalars representing the z,y,z of the translation vector. | |
Translation3D (T dx, T dy, T dz) | |
Construct from x,y,z values representing the translation. | |
template<class IT > | |
void | GetComponents (IT begin) const |
Get the 3 matrix components into data specified by an iterator begin. | |
template<class IT > | |
void | GetComponents (IT begin, IT end) const |
Get the 3 components into data specified by an iterator begin and another to the end of the desired data (12 past start). | |
void | GetComponents (T &dx, T &dy, T &dz) const |
Get the components into 3 scalars. | |
Translation3D< T > | Inverse () const |
Return the inverse of the transformation. | |
void | Invert () |
Invert the transformation in place. | |
bool | operator!= (const Translation3D< T > &rhs) const |
template<class CoordSystem , class Tag > | |
DisplacementVector3D< CoordSystem, Tag > | operator() (const DisplacementVector3D< CoordSystem, Tag > &v) const |
Transformation operation for Displacement Vector in any coordinate system and default tag For the Displacement Vectors no translation apply so return the vector itself. | |
template<class CoordSystem > | |
LorentzVector< CoordSystem > | operator() (const LorentzVector< CoordSystem > &q) const |
Transformation operation for a Lorentz Vector in any coordinate system A LorentzVector contains a displacement vector so no translation applies as well. | |
Plane3D< T > | operator() (const Plane3D< T > &plane) const |
Transformation on a 3D plane. | |
template<class CoordSystem , class Tag > | |
PositionVector3D< CoordSystem, Tag > | operator() (const PositionVector3D< CoordSystem, Tag > &p) const |
Transformation operation for Position Vector in any coordinate system and default tag. | |
template<class CoordSystem , class Tag > | |
DisplacementVector3D< CoordSystem, Tag > | operator* (const DisplacementVector3D< CoordSystem, Tag > &v) const |
Transformation operation. | |
template<class CoordSystem > | |
LorentzVector< CoordSystem > | operator* (const LorentzVector< CoordSystem > &q) const |
Transformation operation. | |
template<class CoordSystem , class Tag > | |
PositionVector3D< CoordSystem, Tag > | operator* (const PositionVector3D< CoordSystem, Tag > &v) const |
Transformation operation. | |
Translation3D< T > | operator* (const Translation3D< T > &t) const |
multiply (combine) two transformations | |
Translation3D< T > & | operator*= (const Translation3D< T > &t) |
multiply (combine) with another transformation in place | |
bool | operator== (const Translation3D< T > &rhs) const |
Equality/inequality operators. | |
template<class IT > | |
void | SetComponents (IT begin, IT end) |
Set the 3 components given an iterator to the start of the desired data, and another to the end (3 past start). | |
void | SetComponents (T dx, T dy, T dz) |
Set the components from 3 scalars. | |
void | SetXYZ (T dx, T dy, T dz) |
Set the XYZ vector components from 3 scalars. | |
template<class CoordSystem , class Tag1 , class Tag2 > | |
void | Transform (const DisplacementVector3D< CoordSystem, Tag1 > &v1, DisplacementVector3D< CoordSystem, Tag2 > &v2) const |
Transformation operation for Displacement Vector of different coordinate systems. | |
template<class CoordSystem , class Tag1 , class Tag2 > | |
void | Transform (const PositionVector3D< CoordSystem, Tag1 > &p1, PositionVector3D< CoordSystem, Tag2 > &p2) const |
Transformation operation for points between different coordinate system tags. | |
const Vector & | Vect () const |
return a const reference to the underline vector representing the translation | |
Private Attributes | |
Vector | fVect |
#include <Math/GenVector/Translation3D.h>
typedef T ROOT::Math::Impl::Translation3D< T >::Scalar |
Definition at line 54 of file Translation3D.h.
typedef DisplacementVector3D<Cartesian3D<T>, DefaultCoordinateSystemTag> ROOT::Math::Impl::Translation3D< T >::Vector |
Definition at line 56 of file Translation3D.h.
|
inline |
Default constructor ( zero translation )
Definition at line 61 of file Translation3D.h.
|
inline |
Construct given a pair of pointers or iterators defining the beginning and end of an array of 3 Scalars representing the z,y,z of the translation vector.
Definition at line 68 of file Translation3D.h.
|
inline |
Construct from x,y,z values representing the translation.
Definition at line 76 of file Translation3D.h.
|
inlineexplicit |
Construct from any Displacement vector in ant tag and coordinate system.
Definition at line 82 of file Translation3D.h.
|
inline |
Construct transformation from one coordinate system defined one point (the origin) to a new coordinate system defined by other point (origin )
p1 | point defining origin of original reference system |
p2 | point defining origin of transformed reference system |
Definition at line 95 of file Translation3D.h.
|
inline |
Get the 3 matrix components into data specified by an iterator begin.
Definition at line 132 of file Translation3D.h.
|
inline |
Get the 3 components into data specified by an iterator begin and another to the end of the desired data (12 past start).
Definition at line 124 of file Translation3D.h.
|
inline |
Get the components into 3 scalars.
Definition at line 145 of file Translation3D.h.
|
inline |
Return the inverse of the transformation.
Definition at line 264 of file Translation3D.h.
|
inline |
Invert the transformation in place.
Definition at line 257 of file Translation3D.h.
|
inline |
Definition at line 275 of file Translation3D.h.
|
inline |
Transformation operation for Displacement Vector in any coordinate system and default tag For the Displacement Vectors no translation apply so return the vector itself.
Definition at line 176 of file Translation3D.h.
|
inline |
Transformation operation for a Lorentz Vector in any coordinate system A LorentzVector contains a displacement vector so no translation applies as well.
Definition at line 213 of file Translation3D.h.
|
inline |
Transformation on a 3D plane.
Definition at line 229 of file Translation3D.h.
|
inline |
Transformation operation for Position Vector in any coordinate system and default tag.
Definition at line 159 of file Translation3D.h.
|
inline |
Transformation operation.
Definition at line 183 of file Translation3D.h.
|
inline |
Transformation operation.
Definition at line 221 of file Translation3D.h.
|
inline |
Transformation operation.
Definition at line 166 of file Translation3D.h.
|
inline |
multiply (combine) two transformations
Definition at line 252 of file Translation3D.h.
|
inline |
multiply (combine) with another transformation in place
Definition at line 243 of file Translation3D.h.
|
inline |
Equality/inequality operators.
Definition at line 269 of file Translation3D.h.
|
inline |
Set the 3 components given an iterator to the start of the desired data, and another to the end (3 past start).
Definition at line 115 of file Translation3D.h.
|
inline |
Set the components from 3 scalars.
Definition at line 140 of file Translation3D.h.
|
inline |
Set the XYZ vector components from 3 scalars.
Definition at line 150 of file Translation3D.h.
|
inline |
Transformation operation for Displacement Vector of different coordinate systems.
Definition at line 202 of file Translation3D.h.
|
inline |
Transformation operation for points between different coordinate system tags.
Definition at line 192 of file Translation3D.h.
|
inline |
return a const reference to the underline vector representing the translation
Definition at line 108 of file Translation3D.h.
|
private |
Definition at line 279 of file Translation3D.h.