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 */
HepGeom::Transform3D
Definition:
CLHEP/Geometry/Transform3D.h:172
HepGeom::Transform3D::xy
double xy() const
Definition:
CLHEP/Geometry/Transform3D.h:256
HepGeom::Transform3D::yz
double yz() const
Definition:
CLHEP/Geometry/Transform3D.h:268
HepGeom::Transform3D::dx
double dx() const
Definition:
CLHEP/Geometry/Transform3D.h:280
Transform3D.h
HepGeom::Transform3D::zy
double zy() const
Definition:
CLHEP/Geometry/Transform3D.h:274
defs.h
HepGeom::BasicVector3D::x
T x() const
Definition:
CLHEP/Geometry/BasicVector3D.h:142
HepGeom::Transform3D::yy
double yy() const
Definition:
CLHEP/Geometry/Transform3D.h:265
Point3D.h
HepGeom::Transform3D::zz
double zz() const
Definition:
CLHEP/Geometry/Transform3D.h:277
HepGeom::Transform3D::yx
double yx() const
Definition:
CLHEP/Geometry/Transform3D.h:262
HepGeom::Transform3D::xx
double xx() const
Definition:
CLHEP/Geometry/Transform3D.h:253
HepGeom::BasicVector3D::y
T y() const
Definition:
CLHEP/Geometry/BasicVector3D.h:145
HepGeom::Transform3D::dz
double dz() const
Definition:
CLHEP/Geometry/Transform3D.h:286
HepGeom::Transform3D::xz
double xz() const
Definition:
CLHEP/Geometry/Transform3D.h:259
HepGeom::BasicVector3D::set
void set(T x1, T y1, T z1)
Definition:
CLHEP/Geometry/BasicVector3D.h:162
HepGeom::BasicVector3D::z
T z() const
Definition:
CLHEP/Geometry/BasicVector3D.h:148
HepGeom::Transform3D::dy
double dy() const
Definition:
CLHEP/Geometry/Transform3D.h:283
HepGeom::operator*
Normal3D< float > operator*(const Transform3D &m, const Normal3D< float > &v)
Definition:
Normal3D.cc:25
HepGeom::Point3D
Definition:
CLHEP/Geometry/Point3D.h:35
HepGeom::Transform3D::zx
double zx() const
Definition:
CLHEP/Geometry/Transform3D.h:271
HepGeom::Point3D< float >
Definition:
CLHEP/Geometry/Point3D.h:44
HepGeom::Point3D< double >
Definition:
CLHEP/Geometry/Point3D.h:123
Generated on Sat Dec 14 2013 08:54:16 for CLHEP by
1.8.5