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 ...
bool operator==(const Translation3D &rhs) const
Equality/inequality operators.
bool operator!=(const Translation3D &rhs) const
DisplacementVector3D< CoordSystem, Tag > & SetCoordinates(const Scalar src[])
Set internal data based on a C-style array of 3 Scalar numbers.
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...
This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecu...
Translation3D()
Default constructor ( zero translation )
Translation3D(const DisplacementVector3D< CoordSystem, Tag > &v)
Construct from any Displacement vector in ant tag and coordinate system.
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...
Class describing a generic position vector (point) in 3 dimensions.
DisplacementVector3D< Cartesian3D< double >, DefaultCoordinateSystemTag > Vector
void GetComponents(double &dx, double &dy, double &dz) const
Get the components into 3 scalars.
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 Invert()
Invert the transformation in place.
std::ostream & operator<<(std::ostream &os, const AxisAngle &a)
Stream Output and Input.
Scalar X() const
Cartesian X, converting if necessary from internal coordinate system.
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 Z() const
Cartesian Z, converting if necessary from internal coordinate system.
Scalar Y() const
Cartesian Y, converting if necessary from internal coordinate system.
static double p2(double t, double a, double b, double c)
Scalar Z() const
Cartesian Z, converting if necessary from internal coordinate system.
Class describing a generic displacement vector in 3 dimensions.
const Vector & Vect() const
return a const reference to the underline vector representing the translation
void Transform(const DisplacementVector3D< CoordSystem, Tag1 > &v1, DisplacementVector3D< CoordSystem, Tag2 > &v2) const
Transformation operation for Displacement Vector of different coordinate systems. ...
Scalar X() const
Cartesian X, converting if necessary from internal coordinate system.
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
void GetComponents(IT begin) const
Get the 3 matrix components into data specified by an iterator begin.
static double p1(double t, double a, double b)
PositionVector3D< CoordSystem, Tag > operator()(const PositionVector3D< CoordSystem, Tag > &p) const
Transformation operation for Position Vector in any coordinate system and default tag...
AVector operator*(const AVector &v) const
Transformation operation for Vectors.
void GetCoordinates(Scalar &a, Scalar &b, Scalar &c) const
get internal data into 3 Scalar numbers
Translation3D(double dx, double dy, double dz)
Construct from x,y,z values representing the translation.
Class describing a 3 dimensional translation.
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...
Namespace for new Math classes and functions.
Scalar Y() const
Cartesian Y, converting if necessary from internal coordinate system.
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...
void Transform(const PositionVector3D< CoordSystem, Tag1 > &p1, PositionVector3D< CoordSystem, Tag2 > &p2) const
Transformation operation for points between different coordinate system tags.
DefaultCoordinateSystemTag Default tag for identifying any coordinate system.
void SetComponents(double dx, double dy, double dz)
Set the components from 3 scalars.
Translation3D Inverse() const
Return the inverse of the transformation.