Garfield++
5.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
Loading...
Searching...
No Matches
eparticle.cpp
Go to the documentation of this file.
1
#include "
wcpplib/particle/eparticle.h
"
2
3
// 1998 - 2004, I. Smirnov
4
5
namespace
Heed
{
6
7
eparticle::eparticle
(
manip_absvol
* primvol,
const
point
& pt,
const
vec
& vel,
8
vfloat
ftime,
particle_def
* fpardef,
HeedFieldMap
* fieldmap)
9
:
mparticle
(primvol, pt, vel, ftime, fpardef->mass),
10
m_pardef
(fpardef),
m_fieldMap
(fieldmap) {
11
}
12
13
int
eparticle::force
(
const
point
& pt,
vec
& f,
vec
& f_perp,
vfloat
& mrange) {
14
vec
efield(0., 0., 0.);
15
vec
hfield(0., 0., 0.);
16
if
(!
m_fieldMap
) {
17
std::cerr <<
"Field map not defined.\n"
;
18
return
1;
19
}
20
m_fieldMap
->field_map(pt, efield, hfield, mrange);
21
f =
m_pardef
->charge * efield;
22
f_perp =
m_pardef
->charge * hfield;
23
return
1;
24
}
25
26
void
eparticle::print
(std::ostream& file,
int
l)
const
{
27
if
(l < 0)
return
;
28
Ifile
<<
"eparticle: particle is "
;
29
if
(!
m_pardef
) {
30
file <<
"none"
;
31
}
else
{
32
file <<
m_pardef
->notation;
33
}
34
file <<
'\n'
;
35
mparticle::print
(file, l);
36
}
37
}
Heed::HeedFieldMap
Retrieve electric and magnetic field from Sensor.
Definition
HeedFieldMap.h:15
Heed::eparticle::print
void print(std::ostream &file, int l) const override
Print-out.
Definition
eparticle.cpp:26
Heed::eparticle::m_pardef
particle_def * m_pardef
Definition
eparticle.h:32
Heed::eparticle::eparticle
eparticle()=default
Default constructor.
Heed::eparticle::m_fieldMap
HeedFieldMap * m_fieldMap
Pointer to field map.
Definition
eparticle.h:34
Heed::eparticle::force
int force(const point &pt, vec &f, vec &f_perp, vfloat &mrange) override
Calculate force components.
Definition
eparticle.cpp:13
Heed::manip_absvol
Abstract base classs for volume "manipulators".
Definition
volume.h:128
Heed::mparticle::print
void print(std::ostream &file, int l) const override
Print-out.
Definition
mparticle.cpp:243
Heed::mparticle::mparticle
mparticle()=default
Default constructor.
Heed::particle_def
Definition
particle_def.h:14
Heed::point
Point.
Definition
vec.h:368
Heed::vec
Definition
vec.h:179
eparticle.h
Heed
Definition
BGMesh.cpp:6
Heed::vfloat
double vfloat
Definition
vfloat.h:16
Ifile
#define Ifile
Definition
prstream.h:195
garfieldpp-5.0
Heed
wcpplib
particle
eparticle.cpp
Generated by
1.13.2