Geant4_10
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
source
source
externals
clhep
src
Point3D.cc
Go to the documentation of this file.
1
// -*- C++ -*-
2
// $Id:$
3
// ---------------------------------------------------------------------------
4
5
#include "
CLHEP/Geometry/Point3D.h
"
6
#include "
CLHEP/Geometry/Transform3D.h
"
7
8
namespace
HepGeom {
9
//--------------------------------------------------------------------------
10
Point3D<float> &
11
Point3D<float>::transform
(
const
Transform3D
&
m
) {
12
double
vx =
x
(), vy =
y
(), vz =
z
();
13
set
(m.
xx
()*vx + m.
xy
()*vy + m.
xz
()*vz + m.
dx
(),
14
m.
yx
()*vx + m.
yy
()*vy + m.
yz
()*vz + m.
dy
(),
15
m.
zx
()*vx + m.
zy
()*vy + m.
zz
()*vz + m.
dz
());
16
return
*
this
;
17
}
18
19
//--------------------------------------------------------------------------
20
Point3D<float>
21
operator*
(
const
Transform3D
&
m
,
const
Point3D<float>
&
v
) {
22
double
vx = v.
x
(), vy = v.
y
(), vz = v.
z
();
23
return
Point3D<float>
24
(m.
xx
()*vx + m.
xy
()*vy + m.
xz
()*vz + m.
dx
(),
25
m.
yx
()*vx + m.
yy
()*vy + m.
yz
()*vz + m.
dy
(),
26
m.
zx
()*vx + m.
zy
()*vy + m.
zz
()*vz + m.
dz
());
27
}
28
29
//--------------------------------------------------------------------------
30
Point3D<double> &
31
Point3D<double>::transform
(
const
Transform3D
&
m
) {
32
double
vx =
x
(), vy =
y
(), vz =
z
();
33
set
(m.
xx
()*vx + m.
xy
()*vy + m.
xz
()*vz + m.
dx
(),
34
m.
yx
()*vx + m.
yy
()*vy + m.
yz
()*vz + m.
dy
(),
35
m.
zx
()*vx + m.
zy
()*vy + m.
zz
()*vz + m.
dz
());
36
return
*
this
;
37
}
38
39
//--------------------------------------------------------------------------
40
Point3D<double>
41
operator*
(
const
Transform3D
&
m
,
const
Point3D<double>
&
v
) {
42
double
vx = v.
x
(), vy = v.
y
(), vz = v.
z
();
43
return
Point3D<double>
44
(m.
xx
()*vx + m.
xy
()*vy + m.
xz
()*vz + m.
dx
(),
45
m.
yx
()*vx + m.
yy
()*vy + m.
yz
()*vz + m.
dy
(),
46
m.
zx
()*vx + m.
zy
()*vy + m.
zz
()*vz + m.
dz
());
47
}
48
}
/* namespace HepGeom */
HepGeom::Point3D< double >
Definition:
Point3D.h:122
HepGeom::Transform3D::yy
double yy() const
Definition:
Transform3D.h:264
HepGeom::Transform3D
Definition:
Transform3D.h:171
HepGeom::Point3D
Definition:
Point3D.h:34
HepGeom::Point3D< float >
Definition:
Point3D.h:43
HepGeom::BasicVector3D::set
void set(T x1, T y1, T z1)
Definition:
BasicVector3D.h:161
HepGeom::Transform3D::yx
double yx() const
Definition:
Transform3D.h:261
HepGeom::Transform3D::dx
double dx() const
Definition:
Transform3D.h:279
HepGeom::BasicVector3D::x
T x() const
Definition:
BasicVector3D.h:141
Transform3D.h
HepGeom::Transform3D::zz
double zz() const
Definition:
Transform3D.h:276
python.hepunit.m
m
Definition:
hepunit.py:54
HepGeom::BasicVector3D::z
T z() const
Definition:
BasicVector3D.h:147
HepGeom::Transform3D::xz
double xz() const
Definition:
Transform3D.h:258
HepGeom::Transform3D::xy
double xy() const
Definition:
Transform3D.h:255
HepGeom::Transform3D::dy
double dy() const
Definition:
Transform3D.h:282
test.v
tuple v
Definition:
test.py:18
HepGeom::Transform3D::dz
double dz() const
Definition:
Transform3D.h:285
HepGeom::Transform3D::yz
double yz() const
Definition:
Transform3D.h:267
HepGeom::Transform3D::xx
double xx() const
Definition:
Transform3D.h:252
HepGeom::operator*
Normal3D< float > operator*(const Transform3D &m, const Normal3D< float > &v)
Definition:
Normal3D.cc:24
HepGeom::BasicVector3D::y
T y() const
Definition:
BasicVector3D.h:144
HepGeom::Transform3D::zy
double zy() const
Definition:
Transform3D.h:273
Point3D.h
HepGeom::Transform3D::zx
double zx() const
Definition:
Transform3D.h:270
Generated on Sat Dec 14 2013 14:34:03 for Geant4_10 by
1.8.5