Geant4
11.2.2
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
m
n
o
p
q
r
s
t
u
w
z
Variables
c
d
e
g
h
i
k
l
m
n
o
p
q
s
t
v
Typedefs
a
b
c
d
e
f
g
h
i
m
n
p
r
s
t
w
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
k
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 Symbols
:
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
q
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
}
10
Vector3D<float>::transform
(
const
Transform3D
& m) {
…
}
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
}
20
operator*
(
const
Transform3D
& m,
const
Vector3D<float>
& v) {
…
}
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
}
30
Vector3D<double>::transform
(
const
Transform3D
& m) {
…
}
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
}
40
operator*
(
const
Transform3D
& m,
const
Vector3D<double>
& v) {
…
}
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::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.2.2
source
externals
clhep
src
Vector3D.cc
Generated by
1.12.0