CLHEP VERSION Reference Documentation
   
CLHEP Home Page     CLHEP Documentation     CLHEP Bug Reports

Vector3D.cc
Go to the documentation of this file.
1// -*- C++ -*-
2// $Id: Vector3D.cc,v 1.3 2003/08/13 20:00:11 garren Exp $
3// ---------------------------------------------------------------------------
4
8
9namespace HepGeom {
10 //--------------------------------------------------------------------------
11 Vector3D<float> &
13 double vx = x(), vy = y(), vz = z();
14 set(m.xx()*vx + m.xy()*vy + m.xz()*vz,
15 m.yx()*vx + m.yy()*vy + m.yz()*vz,
16 m.zx()*vx + m.zy()*vy + m.zz()*vz);
17 return *this;
18 }
19
20 //--------------------------------------------------------------------------
22 operator*(const Transform3D & m, const Vector3D<float> & v) {
23 double vx = v.x(), vy = v.y(), vz = v.z();
24 return Vector3D<float>
25 (m.xx()*vx + m.xy()*vy + m.xz()*vz,
26 m.yx()*vx + m.yy()*vy + m.yz()*vz,
27 m.zx()*vx + m.zy()*vy + m.zz()*vz);
28 }
29
30 //--------------------------------------------------------------------------
33 double vx = x(), vy = y(), vz = z();
34 set(m.xx()*vx + m.xy()*vy + m.xz()*vz,
35 m.yx()*vx + m.yy()*vy + m.yz()*vz,
36 m.zx()*vx + m.zy()*vy + m.zz()*vz);
37 return *this;
38 }
39
40 //--------------------------------------------------------------------------
42 operator*(const Transform3D & m, const Vector3D<double> & v) {
43 double vx = v.x(), vy = v.y(), vz = v.z();
44 return Vector3D<double>
45 (m.xx()*vx + m.xy()*vy + m.xz()*vz,
46 m.yx()*vx + m.yy()*vy + m.yz()*vz,
47 m.zx()*vx + m.zy()*vy + m.zz()*vz);
48 }
49} /* namespace HepGeom */
Normal3D< float > operator*(const Transform3D &m, const Normal3D< float > &v)
Definition: Normal3D.cc:25