Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Vector3D.cc
Go to the documentation of this file.
1// -*- C++ -*-
2// ---------------------------------------------------------------------------
3
6
7namespace HepGeom {
8 //--------------------------------------------------------------------------
9 Vector3D<float> &
11 double vx = x(), vy = y(), vz = z();
12 set(m.xx()*vx + m.xy()*vy + m.xz()*vz,
13 m.yx()*vx + m.yy()*vy + m.yz()*vz,
14 m.zx()*vx + m.zy()*vy + m.zz()*vz);
15 return *this;
16 }
17
18 //--------------------------------------------------------------------------
20 operator*(const Transform3D & m, const Vector3D<float> & v) {
21 double vx = v.x(), vy = v.y(), vz = v.z();
22 return Vector3D<float>
23 (m.xx()*vx + m.xy()*vy + m.xz()*vz,
24 m.yx()*vx + m.yy()*vy + m.yz()*vz,
25 m.zx()*vx + m.zy()*vy + m.zz()*vz);
26 }
27
28 //--------------------------------------------------------------------------
31 double vx = x(), vy = y(), vz = z();
32 set(m.xx()*vx + m.xy()*vy + m.xz()*vz,
33 m.yx()*vx + m.yy()*vy + m.yz()*vz,
34 m.zx()*vx + m.zy()*vy + m.zz()*vz);
35 return *this;
36 }
37
38 //--------------------------------------------------------------------------
40 operator*(const Transform3D & m, const Vector3D<double> & v) {
41 double vx = v.x(), vy = v.y(), vz = v.z();
42 return Vector3D<double>
43 (m.xx()*vx + m.xy()*vy + m.xz()*vz,
44 m.yx()*vx + m.yy()*vy + m.yz()*vz,
45 m.zx()*vx + m.zy()*vy + m.zz()*vz);
46 }
47} /* namespace HepGeom */
double zz() const
Definition: Transform3D.h:281
double yz() const
Definition: Transform3D.h:272
double xy() const
Definition: Transform3D.h:260
double zx() const
Definition: Transform3D.h:275
double yx() const
Definition: Transform3D.h:266
double zy() const
Definition: Transform3D.h:278
double xx() const
Definition: Transform3D.h:257
double yy() const
Definition: Transform3D.h:269
double xz() const
Definition: Transform3D.h:263
Normal3D< float > operator*(const Transform3D &m, const Normal3D< float > &v)
Definition: Normal3D.cc:23