16 #ifndef ROOT_Math_GenVector_Translation3D
17 #define ROOT_Math_GenVector_Translation3D 1
20 #ifndef ROOT_Math_GenVector_DisplacementVector3D
24 #ifndef ROOT_Math_GenVector_PositionVector3Dfwd
28 #ifndef ROOT_Math_GenVector_LorentzVectorfwd
86 fVect( Vector(dx, dy, dz) )
93 template<
class CoordSystem,
class Tag>
106 template<
class CoordSystem,
class Tag>
170 SetXYZ (
double dx,
double dy,
double dz ) {
181 template<
class CoordSystem,
class Tag >
194 template<
class CoordSystem,
class Tag >
202 template<
class CoordSystem,
class Tag1,
class Tag2 >
213 template<
class CoordSystem,
class Tag1,
class Tag2 >
223 template <
class CoordSystem >
239 template<
class AVector >
Class describing a geometrical plane in 3 dimensions.
Class describing a generic LorentzVector in the 4D space-time, using the specified coordinate system ...
DisplacementVector3D< CoordSystem, Tag > & SetCoordinates(const Scalar src[])
Set internal data based on a C-style array of 3 Scalar numbers.
PositionVector3D< CoordSystem, Tag > operator()(const PositionVector3D< CoordSystem, Tag > &p) const
Transformation operation for Position Vector in any coordinate system and default tag...
DisplacementVector3D< CoordSystem, Tag > & SetXYZ(Scalar a, Scalar b, Scalar c)
set the values of the vector from the cartesian components (x,y,z) (if the vector is held in polar or...
Namespace for new ROOT classes and functions.
Translation3D()
Default constructor ( zero translation )
Translation3D(const DisplacementVector3D< CoordSystem, Tag > &v)
Construct from any Displacement vector in ant tag and coordinate system.
Translation3D Inverse() const
Return the inverse of the transformation.
Scalar Y() const
Cartesian Y, converting if necessary from internal coordinate system.
Class describing a generic position vector (point) in 3 dimensions.
DisplacementVector3D< Cartesian3D< double >, DefaultCoordinateSystemTag > Vector
void GetCoordinates(Scalar &a, Scalar &b, Scalar &c) const
get internal data into 3 Scalar numbers
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...
void Transform(const DisplacementVector3D< CoordSystem, Tag1 > &v1, DisplacementVector3D< CoordSystem, Tag2 > &v2) const
Transformation operation for Displacement Vector of different coordinate systems. ...
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...
Scalar Z() const
Cartesian Z, converting if necessary from internal coordinate system.
void Invert()
Invert the transformation in place.
void GetComponents(double &dx, double &dy, double &dz) const
Get the components into 3 scalars.
Scalar Y() const
Cartesian Y, converting if necessary from internal coordinate system.
std::ostream & operator<<(std::ostream &os, const AxisAngle &a)
Stream Output and Input.
Translation3D(IT begin, IT end)
Construct given a pair of pointers or iterators defining the beginning and end of an array of 3 Scala...
Scalar X() const
Cartesian X, converting if necessary from internal coordinate system.
static double p2(double t, double a, double b, double c)
void GetComponents(IT begin) const
Get the 3 matrix components into data specified by an iterator begin.
Class describing a generic displacement vector in 3 dimensions.
bool operator==(const Translation3D &rhs) const
Equality/inequality operators.
void SetXYZ(double dx, double dy, double dz)
Set the XYZ vector components from 3 scalars.
Translation3D & operator*=(const Translation3D &t)
multiply (combine) with another transformation in place
static double p1(double t, double a, double b)
Translation3D(double dx, double dy, double dz)
Construct from x,y,z values representing the translation.
Class describing a 3 dimensional translation.
void Transform(const PositionVector3D< CoordSystem, Tag1 > &p1, PositionVector3D< CoordSystem, Tag2 > &p2) const
Transformation operation for points between different coordinate system tags.
AVector operator*(const AVector &v) const
Transformation operation for Vectors.
Scalar Z() const
Cartesian Z, converting if necessary from internal coordinate system.
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...
const Vector & Vect() const
return a const reference to the underline vector representing the translation
Namespace for new Math classes and functions.
PositionVector3D< CoordSystem, Tag > & SetXYZ(Scalar a, Scalar b, Scalar c)
set the values of the vector from the cartesian components (x,y,z) (if the vector is held in polar or...
Scalar X() const
Cartesian X, converting if necessary from internal coordinate system.
std::complex< float_v > Z
DefaultCoordinateSystemTag Default tag for identifying any coordinate system.
void SetComponents(double dx, double dy, double dz)
Set the components from 3 scalars.
bool operator!=(const Translation3D &rhs) const