ROOT::Math::Translation3D Class Reference
[GenVector]

Class describing a 3 dimensional translation. More...

#include <Translation3D.h>

Collaboration diagram for ROOT::Math::Translation3D:

Collaboration graph
[legend]

List of all members.

Public Types

typedef DisplacementVector3D
< Cartesian3D< double >
, DefaultCoordinateSystemTag
Vector

Public Member Functions

 Translation3D ()
 Default constructor ( zero translation ).
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 (double dx, double dy, double dz)
 Construct from x,y,z values representing the 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 ).
const VectorVect () const
 return a const reference to the underline vector representing the translation
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).
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).
template<class IT >
void GetComponents (IT begin) const
 Get the 3 matrix components into data specified by an iterator begin.
void SetComponents (double dx, double dy, double dz)
 Set the components from 3 scalars.
void GetComponents (double &dx, double &dy, double &dz) const
 Get the components into 3 scalars.
void SetXYZ (double dx, double dy, double dz)
 Set the XYZ vector components from 3 scalars.
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 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 , 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.
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 >
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 operator() (const Plane3D &plane) const
 Transformation on a 3D plane.
template<class AVector >
AVector operator* (const AVector &v) const
 Transformation operation for Vectors.
Translation3Doperator*= (const Translation3D &t)
 multiply (combine) with another transformation in place
Translation3D operator* (const Translation3D &t) const
 multiply (combine) two transformations
void Invert ()
 Invert the transformation in place.
Translation3D Inverse () const
 Return the inverse of the transformation.
bool operator== (const Translation3D &rhs) const
 Equality/inequality operators.
bool operator!= (const Translation3D &rhs) const


Detailed Description

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 57 of file GenVector/Translation3D.h.


Member Typedef Documentation

Definition at line 62 of file GenVector/Translation3D.h.


Constructor & Destructor Documentation

ROOT::Math::Translation3D::Translation3D (  )  [inline]

Default constructor ( zero translation ).

Definition at line 70 of file GenVector/Translation3D.h.

Referenced by Inverse(), and operator*().

template<class IT >
ROOT::Math::Translation3D::Translation3D ( IT  begin,
IT  end 
) [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 77 of file GenVector/Translation3D.h.

References ROOT::Math::DisplacementVector3D< CoordSystem, Tag >::SetCoordinates().

ROOT::Math::Translation3D::Translation3D ( double  dx,
double  dy,
double  dz 
) [inline]

Construct from x,y,z values representing the translation.

Definition at line 85 of file GenVector/Translation3D.h.

template<class CoordSystem , class Tag >
ROOT::Math::Translation3D::Translation3D ( const DisplacementVector3D< CoordSystem, Tag > &  v  )  [inline, explicit]

Construct from any Displacement vector in ant tag and coordinate system.

Definition at line 94 of file GenVector/Translation3D.h.

template<class CoordSystem , class Tag >
ROOT::Math::Translation3D::Translation3D ( const PositionVector3D< CoordSystem, Tag > &  p1,
const PositionVector3D< CoordSystem, Tag > &  p2 
) [inline]

Construct transformation from one coordinate system defined one point (the origin) to a new coordinate system defined by other point (origin ).

Parameters:
p1 point defining origin of original reference system
p2 point defining origin of transformed reference system

Definition at line 107 of file GenVector/Translation3D.h.


Member Function Documentation

void ROOT::Math::Translation3D::GetComponents ( double &  dx,
double &  dy,
double &  dz 
) const [inline]

Get the components into 3 scalars.

Definition at line 161 of file GenVector/Translation3D.h.

References ROOT::Math::DisplacementVector3D< CoordSystem, Tag >::GetCoordinates().

template<class IT >
void ROOT::Math::Translation3D::GetComponents ( IT  begin  )  const [inline]

Get the 3 matrix components into data specified by an iterator begin.

Definition at line 144 of file GenVector/Translation3D.h.

References ROOT::Math::DisplacementVector3D< CoordSystem, Tag >::GetCoordinates().

template<class IT >
void ROOT::Math::Translation3D::GetComponents ( IT  begin,
IT  end 
) const [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 136 of file GenVector/Translation3D.h.

References ROOT::Math::DisplacementVector3D< CoordSystem, Tag >::GetCoordinates().

Referenced by ROOT::Math::operator<<().

Translation3D ROOT::Math::Translation3D::Inverse (  )  const [inline]

void ROOT::Math::Translation3D::Invert (  )  [inline]

bool ROOT::Math::Translation3D::operator!= ( const Translation3D rhs  )  const [inline]

Definition at line 284 of file GenVector/Translation3D.h.

References operator==().

Plane3D ROOT::Math::Translation3D::operator() ( const Plane3D plane  )  const

template<class CoordSystem >
LorentzVector<CoordSystem> ROOT::Math::Translation3D::operator() ( const LorentzVector< CoordSystem > &  q  )  const [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 224 of file GenVector/Translation3D.h.

template<class CoordSystem , class Tag >
DisplacementVector3D<CoordSystem,Tag> ROOT::Math::Translation3D::operator() ( const DisplacementVector3D< CoordSystem, Tag > &  v  )  const [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 195 of file GenVector/Translation3D.h.

template<class CoordSystem , class Tag >
PositionVector3D<CoordSystem,Tag> ROOT::Math::Translation3D::operator() ( const PositionVector3D< CoordSystem, Tag > &  p  )  const [inline]

Translation3D ROOT::Math::Translation3D::operator* ( const Translation3D t  )  const [inline]

multiply (combine) two transformations

Definition at line 257 of file GenVector/Translation3D.h.

References Translation3D(), and Vect().

template<class AVector >
AVector ROOT::Math::Translation3D::operator* ( const AVector &  v  )  const [inline]

Transformation operation for Vectors.

Apply same rules as operator() depending on type of vector. Will work only for DisplacementVector3D, PositionVector3D and LorentzVector

Definition at line 240 of file GenVector/Translation3D.h.

References operator()().

Translation3D& ROOT::Math::Translation3D::operator*= ( const Translation3D t  )  [inline]

multiply (combine) with another transformation in place

Definition at line 249 of file GenVector/Translation3D.h.

References Vect().

bool ROOT::Math::Translation3D::operator== ( const Translation3D rhs  )  const [inline]

Equality/inequality operators.

Definition at line 279 of file GenVector/Translation3D.h.

Referenced by operator!=().

void ROOT::Math::Translation3D::SetComponents ( double  dx,
double  dy,
double  dz 
) [inline]

Set the components from 3 scalars.

Definition at line 153 of file GenVector/Translation3D.h.

References ROOT::Math::DisplacementVector3D< CoordSystem, Tag >::SetCoordinates().

template<class IT >
void ROOT::Math::Translation3D::SetComponents ( IT  begin,
IT  end 
) [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 127 of file GenVector/Translation3D.h.

References ROOT::Math::DisplacementVector3D< CoordSystem, Tag >::SetCoordinates().

Referenced by Invert().

void ROOT::Math::Translation3D::SetXYZ ( double  dx,
double  dy,
double  dz 
) [inline]

Set the XYZ vector components from 3 scalars.

Definition at line 170 of file GenVector/Translation3D.h.

References ROOT::Math::DisplacementVector3D< CoordSystem, Tag >::SetXYZ().

template<class CoordSystem , class Tag1 , class Tag2 >
void ROOT::Math::Translation3D::Transform ( const DisplacementVector3D< CoordSystem, Tag1 > &  v1,
DisplacementVector3D< CoordSystem, Tag2 > &  v2 
) const [inline]

template<class CoordSystem , class Tag1 , class Tag2 >
void ROOT::Math::Translation3D::Transform ( const PositionVector3D< CoordSystem, Tag1 > &  p1,
PositionVector3D< CoordSystem, Tag2 > &  p2 
) const [inline]

const Vector& ROOT::Math::Translation3D::Vect (  )  const [inline]

return a const reference to the underline vector representing the translation

Definition at line 120 of file GenVector/Translation3D.h.

Referenced by operator*(), ROOT::Math::operator*(), operator*=(), and ROOT::Math::Transform3D::Transform3D().


The documentation for this class was generated from the following files:

Generated on Thu Dec 16 21:10:01 2010 for ROOT Mathematical Libraries by  doxygen 1.5.9