16 #ifndef ROOT_Math_GenVector_Transform3DPJ 17 #define ROOT_Math_GenVector_Transform3DPJ 1 19 #include "Math/GenVector/Cartesian3D.h" 20 #include "Math/GenVector/DisplacementVector3D.h" 21 #include "Math/GenVector/PositionVector3D.h" 22 #include "Math/GenVector/LorentzVector.h" 23 #include "Math/GenVector/Rotation3D.h" 24 #include "Math/GenVector/AxisAnglefwd.h" 25 #include "Math/GenVector/EulerAnglesfwd.h" 26 #include "Math/GenVector/Quaternionfwd.h" 27 #include "Math/GenVector/RotationXfwd.h" 28 #include "Math/GenVector/RotationYfwd.h" 29 #include "Math/GenVector/RotationZfwd.h" 30 #include "Math/GenVector/Plane3D.h" 57 typedef DisplacementVector3D<Cartesian3D<double>, DefaultCoordinateSystemTag>
Vector;
58 typedef PositionVector3D<Cartesian3D<double>, DefaultCoordinateSystemTag>
Point;
118 template <
class CoordSystem,
class Tag>
136 template <
class ARotation,
class CoordSystem,
class Tag>
146 template <
class ARotation,
class CoordSystem,
class Tag>
178 template <
class ForeignMatrix>
198 SetComponents(
xx,
xy,
xz,
dx, yx,
yy,
yz,
dy, zx, zy,
zz,
dz);
207 template <
class ForeignMatrix>
221 for (
int i = 0;
i < 12; ++
i) {
234 for (
int i = 0;
i < 12; ++
i) {
255 template <
class ForeignMatrix>
276 template <
class ForeignMatrix>
371 template <
class CoordSystem>
372 PositionVector3D<CoordSystem>
operator()(
const PositionVector3D<CoordSystem> &
p)
const {
374 return PositionVector3D<CoordSystem>(xyzNew);
380 template <
class CoordSystem>
381 DisplacementVector3D<CoordSystem>
operator()(
const DisplacementVector3D<CoordSystem> &
v)
const {
383 return DisplacementVector3D<CoordSystem>(xyzNew);
389 template <
class CoordSystem,
class Tag1,
class Tag2>
390 void Transform(
const PositionVector3D<CoordSystem, Tag1> &
p1, PositionVector3D<CoordSystem, Tag2> &
p2)
const {
392 p2.SetXYZ(xyzNew.X(), xyzNew.Y(), xyzNew.Z());
398 template <
class CoordSystem,
class Tag1,
class Tag2>
399 void Transform(
const DisplacementVector3D<CoordSystem, Tag1> &v1,
400 DisplacementVector3D<CoordSystem, Tag2> &v2)
const {
402 v2.SetXYZ(xyzNew.X(), xyzNew.Y(), xyzNew.Z());
408 template <
class CoordSystem>
427 template <
class AVector>
464 if (
fM[0] != rhs.
fM[0])
466 if (
fM[1] != rhs.
fM[1])
468 if (
fM[2] != rhs.
fM[2])
470 if (
fM[3] != rhs.
fM[3])
472 if (
fM[4] != rhs.
fM[4])
474 if (
fM[5] != rhs.
fM[5])
476 if (
fM[6] != rhs.
fM[6])
478 if (
fM[7] != rhs.
fM[7])
480 if (
fM[8] != rhs.
fM[8])
482 if (
fM[9] != rhs.
fM[9])
484 if (
fM[10] != rhs.
fM[10])
486 if (
fM[11] != rhs.
fM[11])
ROOT::Math::Plane3D::Vector Vector
std::ostream & operator<<(std::ostream &os, const Transform3DPJ &t)
math::XYZTLorentzVector LorentzVector
std::vector< LinkConnSpec >::const_iterator IT
AlgebraicVector EulerAngles
Structure Point Contains parameters of Gaussian fits to DMRs.
ROOT::Math::Plane3D Plane3D