Garfield++
v1r0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
Loading...
Searching...
No Matches
HeedParticle_BGM.h
Go to the documentation of this file.
1
#ifndef HEEDPARTICLE_BGM_H
2
#define HEEDPARTICLE_BGM_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_BGM
:
public
eparticle
{
31
public
:
32
int
s_print_listing
;
33
long
particle_number
;
34
HeedParticle_BGM
(
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 transfer energy and
38
// no othet physics: no deposition of clusters,
39
// no generation of virtual photons.
40
// Thus it is just a PAI without even clusters
41
42
virtual
void
physics
(
void
);
43
HeedParticle_BGM
(
void
) :
eparticle
() { ; }
44
virtual
void
print
(std::ostream& file,
int
l)
const
;
45
macro_copy_total
(
HeedParticle_BGM
);
46
virtual
~HeedParticle_BGM
() { ; }
47
double
transferred_energy_in_step
;
// internal units
48
49
long
qtransfer
;
50
int
s_loss_only
;
51
BlkArr<double>
transferred_energy
;
// internal units
52
BlkArr<long>
natom
;
53
BlkArr<long>
nshell
;
54
55
};
56
57
}
58
59
#endif
AbsList.h
BlkArr.h
EnTransfCS.h
BlkArr
Definition:
BlkArr.h:80
Heed::HeedParticle_BGM
Definition:
HeedParticle_BGM.h:30
Heed::HeedParticle_BGM::transferred_energy
BlkArr< double > transferred_energy
Definition:
HeedParticle_BGM.h:51
Heed::HeedParticle_BGM::s_loss_only
int s_loss_only
Definition:
HeedParticle_BGM.h:50
Heed::HeedParticle_BGM::qtransfer
long qtransfer
Definition:
HeedParticle_BGM.h:49
Heed::HeedParticle_BGM::~HeedParticle_BGM
virtual ~HeedParticle_BGM()
Definition:
HeedParticle_BGM.h:46
Heed::HeedParticle_BGM::transferred_energy_in_step
double transferred_energy_in_step
Definition:
HeedParticle_BGM.h:47
Heed::HeedParticle_BGM::natom
BlkArr< long > natom
Definition:
HeedParticle_BGM.h:52
Heed::HeedParticle_BGM::physics
virtual void physics(void)
Definition:
HeedParticle_BGM.cpp:38
Heed::HeedParticle_BGM::HeedParticle_BGM
HeedParticle_BGM(void)
Definition:
HeedParticle_BGM.h:43
Heed::HeedParticle_BGM::print
virtual void print(std::ostream &file, int l) const
Definition:
HeedParticle_BGM.cpp:310
Heed::HeedParticle_BGM::particle_number
long particle_number
Definition:
HeedParticle_BGM.h:33
Heed::HeedParticle_BGM::nshell
BlkArr< long > nshell
Definition:
HeedParticle_BGM.h:53
Heed::HeedParticle_BGM::s_print_listing
int s_print_listing
Definition:
HeedParticle_BGM.h:32
Heed::HeedParticle_BGM::macro_copy_total
macro_copy_total(HeedParticle_BGM)
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_BGM.h
Generated by
1.9.6