5 #include "CLHEP/Geometry/Vector3D.h"
6 #include "CLHEP/Geometry/Transform3D.h"
11 Vector3D<float>::transform(
const Transform3D &
m) {
12 double vx = x(), vy = y(), vz =
z();
13 set(m.xx()*vx + m.xy()*vy + m.xz()*vz,
14 m.yx()*vx + m.yy()*vy + m.yz()*vz,
15 m.zx()*vx + m.zy()*vy + m.zz()*vz);
21 operator*(
const Transform3D & m,
const Vector3D<float> & v) {
22 double vx = v.x(), vy = v.y(), vz = v.z();
23 return Vector3D<float>
24 (m.xx()*vx + m.xy()*vy + m.xz()*vz,
25 m.yx()*vx + m.yy()*vy + m.yz()*vz,
26 m.zx()*vx + m.zy()*vy + m.zz()*vz);
31 Vector3D<double>::transform(
const Transform3D & m) {
32 double vx = x(), vy = y(), vz =
z();
33 set(m.xx()*vx + m.xy()*vy + m.xz()*vz,
34 m.yx()*vx + m.yy()*vy + m.yz()*vz,
35 m.zx()*vx + m.zy()*vy + m.zz()*vz);
41 operator*(
const Transform3D & m,
const Vector3D<double> & v) {
42 double vx = v.x(), vy = v.y(), vz = v.z();
43 return Vector3D<double>
44 (m.xx()*vx + m.xy()*vy + m.xz()*vz,
45 m.yx()*vx + m.yy()*vy + m.yz()*vz,
46 m.zx()*vx + m.zy()*vy + m.zz()*vz);
Normal3D< float > operator*(const Transform3D &m, const Normal3D< float > &v)