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>
137 Transform3DPJ(
const ARotation &
r,
const DisplacementVector3D<CoordSystem, Tag> &
v) {
146 template <
class ARotation,
class CoordSystem,
class Tag>
147 Transform3DPJ(
const DisplacementVector3D<CoordSystem, Tag> &
v,
const ARotation &
r) {
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])