16#ifndef ROOT_MathX_GenVectorX_Translation3D
17#define ROOT_MathX_GenVectorX_Translation3D 1
55template <
typename T =
double>
75 fVect.SetCoordinates(begin, end);
86 template <
class CoordSystem,
class Tag>
98 template <
class CoordSystem,
class Tag>
120 fVect.SetCoordinates(begin, end);
130 fVect.GetCoordinates(begin, end);
139 fVect.GetCoordinates(begin);
162 template <
class CoordSystem,
class Tag>
170 template <
class CoordSystem,
class Tag>
180 template <
class CoordSystem,
class Tag>
188 template <
class CoordSystem,
class Tag>
197 template <
class CoordSystem,
class Tag1,
class Tag2>
201 tmp.SetXYZ(
p1.X(),
p1.Y(),
p1.Z());
208 template <
class CoordSystem,
class Tag1,
class Tag2>
219 template <
class CoordSystem>
227 template <
class CoordSystem>
242 const T
d =
plane.HesseDistance();
244 return PLANE(
operator()(
n),
operator()(
p));
288#if !defined(ROOT_MATH_SYCL) && !defined(ROOT_MATH_CUDA)
298 t.GetComponents(
m,
m + 3);
299 return os <<
"\n" <<
m[0] <<
" " <<
m[1] <<
" " <<
m[2] <<
"\n";
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
winID h TVirtualViewer3D TVirtualGLPainter p
DefaultCoordinateSystemTag Default tag for identifying any coordinate system.
Class describing a 3 dimensional translation.
DisplacementVector3D< Cartesian3D< T >, DefaultCoordinateSystemTag > Vector
LorentzVector< CoordSystem > operator*(const LorentzVector< CoordSystem > &q) const
Transformation operation.
bool operator!=(const Translation3D< T > &rhs) const
void SetComponents(T dx, T dy, T dz)
Set the components from 3 scalars.
LorentzVector< CoordSystem > operator()(const LorentzVector< CoordSystem > &q) const
Transformation operation for a Lorentz Vector in any coordinate system A LorentzVector contains a dis...
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 coordinat...
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 pa...
bool operator==(const Translation3D< T > &rhs) const
Equality/inequality operators.
Translation3D(IT begin, IT end)
Construct given a pair of pointers or iterators defining the beginning and end of an array of 3 Scala...
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 d...
Translation3D< T > operator*(const Translation3D< T > &t) const
multiply (combine) two transformations
Plane3D< T > operator()(const Plane3D< T > &plane) const
Transformation on a 3D plane.
PositionVector3D< CoordSystem, Tag > operator()(const PositionVector3D< CoordSystem, Tag > &p) const
Transformation operation for Position Vector in any coordinate system and default tag.
Translation3D(const DisplacementVector3D< CoordSystem, Tag > &v)
Construct from any Displacement vector in ant tag and coordinate system.
Translation3D< T > & operator*=(const Translation3D< T > &t)
multiply (combine) with another transformation in place
void SetXYZ(T dx, T dy, T dz)
Set the XYZ vector components from 3 scalars.
void Invert()
Invert the transformation in place.
const Vector & Vect() const
return a const reference to the underline vector representing the translation
void GetComponents(IT begin) const
Get the 3 matrix components into data specified by an iterator begin.
Translation3D()
Default constructor ( zero translation )
DisplacementVector3D< CoordSystem, Tag > operator*(const DisplacementVector3D< CoordSystem, Tag > &v) const
Transformation operation.
Translation3D(T dx, T dy, T dz)
Construct from x,y,z values representing the translation.
void Transform(const PositionVector3D< CoordSystem, Tag1 > &p1, PositionVector3D< CoordSystem, Tag2 > &p2) const
Transformation operation for points between different coordinate system tags.
void Transform(const DisplacementVector3D< CoordSystem, Tag1 > &v1, DisplacementVector3D< CoordSystem, Tag2 > &v2) const
Transformation operation for Displacement Vector of different coordinate systems.
Translation3D< T > Inverse() const
Return the inverse of the transformation.
DisplacementVector3D< CoordSystem, Tag > operator()(const DisplacementVector3D< CoordSystem, Tag > &v) const
Transformation operation for Displacement Vector in any coordinate system and default tag For the Dis...
PositionVector3D< CoordSystem, Tag > operator*(const PositionVector3D< CoordSystem, Tag > &v) const
Transformation operation.
void GetComponents(T &dx, T &dy, T &dz) const
Get the components into 3 scalars.
std::ostream & operator<<(std::ostream &os, const Plane3D< T > &p)
Stream Output and Input.
Impl::Translation3D< float > Translation3DF
Impl::Translation3D< double > Translation3D