Geant4
11.1.1
Toolkit for the simulation of the passage of particles through matter
Toggle main menu visibility
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
w
y
z
Variables
c
d
e
g
h
i
k
l
m
n
o
p
q
s
t
Typedefs
a
b
c
d
e
f
g
h
i
m
n
p
r
s
t
w
y
Enumerations
a
b
c
d
e
f
g
l
m
p
r
s
t
v
y
z
Enumerator
a
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
Enumerations
a
c
d
e
f
g
l
m
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Related Functions
:
a
b
c
d
g
h
i
o
q
r
s
t
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
x
z
Enumerations
b
c
d
e
f
g
i
j
l
m
n
p
s
t
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Examples
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
Loading...
Searching...
No Matches
Vector3D.cc
Go to the documentation of this file.
1
// -*- C++ -*-
2
// ---------------------------------------------------------------------------
3
4
#include "
CLHEP/Geometry/Vector3D.h
"
5
#include "
CLHEP/Geometry/Transform3D.h
"
6
7
namespace
HepGeom
{
8
//--------------------------------------------------------------------------
9
Vector3D<float> &
10
Vector3D<float>::transform
(
const
Transform3D
& m) {
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
//--------------------------------------------------------------------------
19
Vector3D<float>
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
//--------------------------------------------------------------------------
29
Vector3D<double>
&
30
Vector3D<double>::transform
(
const
Transform3D
& m) {
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
//--------------------------------------------------------------------------
39
Vector3D<double>
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 */
Transform3D.h
Vector3D.h
HepGeom::BasicVector3D::x
T x() const
Definition:
BasicVector3D.h:147
HepGeom::BasicVector3D::y
T y() const
Definition:
BasicVector3D.h:150
HepGeom::BasicVector3D::z
T z() const
Definition:
BasicVector3D.h:153
HepGeom::Transform3D
Definition:
Transform3D.h:170
HepGeom::Transform3D::zz
double zz() const
Definition:
Transform3D.h:281
HepGeom::Transform3D::yz
double yz() const
Definition:
Transform3D.h:272
HepGeom::Transform3D::xy
double xy() const
Definition:
Transform3D.h:260
HepGeom::Transform3D::zx
double zx() const
Definition:
Transform3D.h:275
HepGeom::Transform3D::yx
double yx() const
Definition:
Transform3D.h:266
HepGeom::Transform3D::zy
double zy() const
Definition:
Transform3D.h:278
HepGeom::Transform3D::xx
double xx() const
Definition:
Transform3D.h:257
HepGeom::Transform3D::yy
double yy() const
Definition:
Transform3D.h:269
HepGeom::Transform3D::xz
double xz() const
Definition:
Transform3D.h:263
HepGeom::Vector3D
Definition:
Vector3D.h:33
HepGeom
Definition:
BasicVector3D.h:18
HepGeom::operator*
Normal3D< float > operator*(const Transform3D &m, const Normal3D< float > &v)
Definition:
Normal3D.cc:23
geant4-v11.1.1
source
externals
clhep
src
Vector3D.cc
Generated by
1.9.6