Garfield++ v1r0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
HeedParticle.h
Go to the documentation of this file.
1#ifndef HEEDPARTICLE_H
2#define HEEDPARTICLE_H
3
7/*
8Definition of the particle which can be traced through the
9geometry. Also the definition of cluster (energy transfer),
10and particle bank.
11
122003, I. Smirnov
13*/
14
15//#define SINGLE_TRANSFER // for debug
16#ifdef SINGLE_TRANSFER
18extern EnTransfCS* aetcs_single_transf;
19extern long na_single_transf;
20extern long ns_single_transf;
21extern double ener_single_transf;
22#endif
23
24namespace Heed {
25
26extern 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
30class HeedParticle : public eparticle {
31 public:
32 /// Constructors
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.
41 /// Destructor
42 virtual ~HeedParticle() {}
43
44 virtual void physics(void);
45 virtual void print(std::ostream& file, int l) const;
46
49
56
57};
58
59}
60
61#endif
Definition: BlkArr.h:80
HeedParticle(void)
Constructors.
Definition: HeedParticle.h:33
BlkArr< long > natom
Definition: HeedParticle.h:54
macro_copy_total(HeedParticle)
double transferred_energy_in_step
Definition: HeedParticle.h:50
virtual void physics(void)
BlkArr< long > nshell
Definition: HeedParticle.h:55
BlkArr< double > transferred_energy
Definition: HeedParticle.h:53
virtual void print(std::ostream &file, int l) const
virtual ~HeedParticle()
Destructor.
Definition: HeedParticle.h:42
Definition: vec.h:477
Definition: vec.h:248
Definition: BGMesh.cpp:3
long last_particle_number
Definition: HeedParticle.h:26
double vfloat
Definition: vfloat.h:15