16 #ifndef ROOT_Math_GenVector_Transform3D
17 #define ROOT_Math_GenVector_Transform3D 1
21 #ifndef ROOT_Math_GenVector_DisplacementVector3D
25 #ifndef ROOT_Math_GenVector_PositionVector3D
29 #ifndef ROOT_Math_GenVector_Rotation3D
33 #ifndef ROOT_Math_GenVector_Translation3D
141 template <
class ARotation,
class CoordSystem,
class Tag>
153 template <
class ARotation>
210 template<
class CoordSystem,
class Tag>
241 template <
class ARotation,
class CoordSystem,
class Tag>
276 template<
class ForeignMatrix>
285 double yx,
double yy,
double yz,
double dy,
286 double zx,
double zy,
double zz,
double dz)
288 SetComponents (xx, xy, xz, dx, yx, yy, yz, dy, zx, zy, zz, dz);
298 template<
class ForeignMatrix>
318 for (
int i = 0; i <12; ++i) {
335 for (
int i = 0; i <12; ++i) {
347 std::copy (
fM,
fM+12, begin );
356 template<
class ForeignMatrix>
369 template<
class ForeignMatrix>
383 double yx,
double yy,
double yz,
double dy,
384 double zx,
double zy,
double zz,
double dz) {
395 double &yx,
double &yy,
double &yz,
double &dy,
396 double &zx,
double &zy,
double &zz,
double &dz)
const {
407 template<
class AnyRotation,
class V>
434 template <
class AnyRotation>
444 template <
class AnyRotation>
460 template <
class AnyVector>
494 template<
class CoordSystem >
503 template<
class CoordSystem >
512 template<
class CoordSystem,
class Tag1,
class Tag2 >
515 p2.
SetXYZ( xyzNew.
X(), xyzNew.
Y(), xyzNew.
Z() );
522 template<
class CoordSystem,
class Tag1,
class Tag2 >
525 v2.
SetXYZ( xyzNew.
X(), xyzNew.
Y(), xyzNew.
Z() );
531 template <
class CoordSystem >
551 template<
class AVector >
588 if(
fM[0] != rhs.
fM[0] )
return false;
589 if(
fM[1] != rhs.
fM[1] )
return false;
590 if(
fM[2] != rhs.
fM[2] )
return false;
591 if(
fM[3] != rhs.
fM[3] )
return false;
592 if(
fM[4] != rhs.
fM[4] )
return false;
593 if(
fM[5] != rhs.
fM[5] )
return false;
594 if(
fM[6] != rhs.
fM[6] )
return false;
595 if(
fM[7] != rhs.
fM[7] )
return false;
596 if(
fM[8] != rhs.
fM[8] )
return false;
597 if(
fM[9] != rhs.
fM[9] )
return false;
598 if(
fM[10]!= rhs.
fM[10] )
return false;
599 if(
fM[11]!= rhs.
fM[11] )
return false;
Class describing a geometrical plane in 3 dimensions.
Scalar E() const
return 4-th component (time, or energy for a 4-momentum vector)
Class describing a generic LorentzVector in the 4D space-time, using the specified coordinate system ...
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...
::ROOT::Math::DisplacementVector3D< Cartesian3D< Scalar > > Vect() const
get the spatial components of the Vector in a DisplacementVector based on Cartesian Coordinates ...
Rotation class representing a 3D rotation about the Z axis by the angle of rotation.
Scalar Y() const
Cartesian Y, converting if necessary from internal coordinate system.
Class describing a generic position vector (point) in 3 dimensions.
Rotation class with the (3D) rotation represented by angles describing first a rotation of an angle p...
Rotation class with the (3D) rotation represented by a unit quaternion (u, i, j, k).
Scalar Z() const
Cartesian Z, converting if necessary from internal coordinate system.
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.
AxisAngle class describing rotation represented with direction axis (3D Vector) and an angle of rotat...
Rotation class representing a 3D rotation about the Y axis by the angle of rotation.
unsigned int r3[N_CITIES]
Scalar X() const
Cartesian X, converting if necessary from internal coordinate system.
static double p2(double t, double a, double b, double c)
Class describing a generic displacement vector in 3 dimensions.
Rotation class representing a 3D rotation about the X axis by the angle of rotation.
Rotation class with the (3D) rotation represented by a 3x3 orthogonal matrix.
static double p1(double t, double a, double b)
Class describing a 3 dimensional translation.
Scalar Z() const
Cartesian Z, converting if necessary from internal coordinate system.
EulerAngles class describing rotation as three angles (Euler Angles).
const Vector & Vect() const
return a const reference to the underline vector representing the translation
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.
DefaultCoordinateSystemTag Default tag for identifying any coordinate system.