CLHEP VERSION Reference Documentation
CLHEP Home Page
CLHEP Documentation
CLHEP Bug Reports
Main Page
Namespaces
Classes
Files
File List
File Members
Geometry
src
Point3D.cc
Go to the documentation of this file.
1
// -*- C++ -*-
2
// $Id: Point3D.cc,v 1.3 2003/08/13 20:00:11 garren Exp $
3
// ---------------------------------------------------------------------------
4
5
#include "
CLHEP/Geometry/defs.h
"
6
#include "
CLHEP/Geometry/Point3D.h
"
7
#include "
CLHEP/Geometry/Transform3D.h
"
8
9
namespace
HepGeom {
10
//--------------------------------------------------------------------------
11
Point3D<float> &
12
Point3D<float>::transform
(
const
Transform3D
& m) {
13
double
vx =
x
(), vy =
y
(), vz =
z
();
14
set
(m.
xx
()*vx + m.
xy
()*vy + m.
xz
()*vz + m.
dx
(),
15
m.
yx
()*vx + m.
yy
()*vy + m.
yz
()*vz + m.
dy
(),
16
m.
zx
()*vx + m.
zy
()*vy + m.
zz
()*vz + m.
dz
());
17
return
*
this
;
18
}
19
20
//--------------------------------------------------------------------------
21
Point3D<float>
22
operator*
(
const
Transform3D
& m,
const
Point3D<float>
& v) {
23
double
vx = v.
x
(), vy = v.
y
(), vz = v.
z
();
24
return
Point3D<float>
25
(m.
xx
()*vx + m.
xy
()*vy + m.
xz
()*vz + m.
dx
(),
26
m.
yx
()*vx + m.
yy
()*vy + m.
yz
()*vz + m.
dy
(),
27
m.
zx
()*vx + m.
zy
()*vy + m.
zz
()*vz + m.
dz
());
28
}
29
30
//--------------------------------------------------------------------------
31
Point3D<double> &
32
Point3D<double>::transform
(
const
Transform3D
& m) {
33
double
vx =
x
(), vy =
y
(), vz =
z
();
34
set
(m.
xx
()*vx + m.
xy
()*vy + m.
xz
()*vz + m.
dx
(),
35
m.
yx
()*vx + m.
yy
()*vy + m.
yz
()*vz + m.
dy
(),
36
m.
zx
()*vx + m.
zy
()*vy + m.
zz
()*vz + m.
dz
());
37
return
*
this
;
38
}
39
40
//--------------------------------------------------------------------------
41
Point3D<double>
42
operator*
(
const
Transform3D
& m,
const
Point3D<double>
& v) {
43
double
vx = v.
x
(), vy = v.
y
(), vz = v.
z
();
44
return
Point3D<double>
45
(m.
xx
()*vx + m.
xy
()*vy + m.
xz
()*vz + m.
dx
(),
46
m.
yx
()*vx + m.
yy
()*vy + m.
yz
()*vz + m.
dy
(),
47
m.
zx
()*vx + m.
zy
()*vy + m.
zz
()*vz + m.
dz
());
48
}
49
}
/* namespace HepGeom */
Generated on Sun Jun 17 2012 08:08:27 for CLHEP by
1.8.1.1