Garfield++
v1r0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
Loading...
Searching...
No Matches
HeedParticle.h
Go to the documentation of this file.
1
#ifndef HEEDPARTICLE_H
2
#define HEEDPARTICLE_H
3
4
#include "
wcpplib/particle/eparticle.h
"
5
#include "
wcpplib/safetl/AbsList.h
"
6
#include "
wcpplib/safetl/BlkArr.h
"
7
/*
8
Definition of the particle which can be traced through the
9
geometry. Also the definition of cluster (energy transfer),
10
and particle bank.
11
12
2003, I. Smirnov
13
*/
14
15
//#define SINGLE_TRANSFER // for debug
16
#ifdef SINGLE_TRANSFER
17
#include "
heed++/code/EnTransfCS.h
"
18
extern
EnTransfCS* aetcs_single_transf;
19
extern
long
na_single_transf;
20
extern
long
ns_single_transf;
21
extern
double
ener_single_transf;
22
#endif
23
24
namespace
Heed
{
25
26
extern
long
last_particle_number
;
// for debug print
27
// Each particle is identified by particle_number.
28
// It is assigned by current last_particle_number which is then incremented
29
30
class
HeedParticle
:
public
eparticle
{
31
public
:
32
/// Constructors
33
HeedParticle
(
void
) :
eparticle
() {}
34
HeedParticle
(
manip_absvol
* primvol,
const
point
& pt,
const
vec
& vel,
35
vfloat
time,
particle_def
* fpardef,
int
fs_loss_only = 0,
36
int
fs_print_listing = 0);
37
// If fs_loss_only == 1 only transferred energy
38
// is simulated: no deposition of clusters,
39
// no generation of virtual photons.
40
macro_copy_total
(
HeedParticle
);
41
/// Destructor
42
virtual
~HeedParticle
() {}
43
44
virtual
void
physics
(
void
);
45
virtual
void
print
(std::ostream& file,
int
l)
const
;
46
47
int
s_print_listing
;
48
long
particle_number
;
49
50
double
transferred_energy_in_step
;
51
long
qtransfer
;
52
int
s_loss_only
;
53
BlkArr<double>
transferred_energy
;
54
BlkArr<long>
natom
;
55
BlkArr<long>
nshell
;
56
57
};
58
59
}
60
61
#endif
AbsList.h
BlkArr.h
EnTransfCS.h
BlkArr
Definition:
BlkArr.h:80
Heed::HeedParticle
Definition:
HeedParticle.h:30
Heed::HeedParticle::HeedParticle
HeedParticle(void)
Constructors.
Definition:
HeedParticle.h:33
Heed::HeedParticle::natom
BlkArr< long > natom
Definition:
HeedParticle.h:54
Heed::HeedParticle::s_loss_only
int s_loss_only
Definition:
HeedParticle.h:52
Heed::HeedParticle::macro_copy_total
macro_copy_total(HeedParticle)
Heed::HeedParticle::particle_number
long particle_number
Definition:
HeedParticle.h:48
Heed::HeedParticle::s_print_listing
int s_print_listing
Definition:
HeedParticle.h:47
Heed::HeedParticle::transferred_energy_in_step
double transferred_energy_in_step
Definition:
HeedParticle.h:50
Heed::HeedParticle::physics
virtual void physics(void)
Definition:
HeedParticle.cpp:37
Heed::HeedParticle::nshell
BlkArr< long > nshell
Definition:
HeedParticle.h:55
Heed::HeedParticle::transferred_energy
BlkArr< double > transferred_energy
Definition:
HeedParticle.h:53
Heed::HeedParticle::print
virtual void print(std::ostream &file, int l) const
Definition:
HeedParticle.cpp:174
Heed::HeedParticle::qtransfer
long qtransfer
Definition:
HeedParticle.h:51
Heed::HeedParticle::~HeedParticle
virtual ~HeedParticle()
Destructor.
Definition:
HeedParticle.h:42
Heed::eparticle
Definition:
eparticle.h:16
Heed::particle_def
Definition:
particle_def.h:57
manip_absvol
Definition:
volume.h:195
point
Definition:
vec.h:477
vec
Definition:
vec.h:248
eparticle.h
Heed
Definition:
BGMesh.cpp:3
Heed::last_particle_number
long last_particle_number
Definition:
HeedParticle.h:26
vfloat
double vfloat
Definition:
vfloat.h:15
garfieldpp-v1r0
Heed
heed++
code
HeedParticle.h
Generated by
1.9.6