Garfield++ v1r0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
Loading...
Searching...
No Matches
HeedDeltaElectron.h
Go to the documentation of this file.
1#ifndef HEEDDELTAELECTRON_H
2#define HEEDDELTAELECTRON_H
3
5
6/*
7Definition of delta-electron which can be traced
8through the geometry
9
102003, I. Smirnov
11*/
12
13namespace Heed {
14
15extern long last_particle_number; // for debug print
16// Each particle is identified by particle_number.
17// It is assigned by current last_particle_number which is then incremented
18// This extern is also repeated in HeedParticle.h and HeedParticle_BGM.h.
19
21 public:
24
25 //PassivePtr< EnTransfCS > encs;
27 int s_print_listing; // convenient to print internal algorithms
28 // of a selected event
30
31 // The following things are done in physics_mrange.
32 // Later mrange may be reduced by geometry.
33 // the signature of this is prange < phys_mrange
34 double phys_mrange; // in internal units
35 int s_stop_eloss; // sign that the range is restricted
36 // by the loss of all energy to ionization.
37 // It is to avoid additional little step due to
38 // limited precision at subtraction of energy loss at step from
39 // kinetic energy.
40
41 int s_mult_low_path_length; // if 1 then the step is restricted
42 // by the condition that number of elastic scatterings with low angles
43 // should be less or equal to hdecs->eesls->get_qscat()
44 double q_low_path_length; // number of low angle scatterings
45 int s_path_length; // sign that the range is restricted by
46 // path length for large angle scattering
47
48 double necessary_energy; // ( internal units)
49 // at next step to left conduction electron.
50 // It is necessary energy, not the left energy
51 // because it is randomly generated.
52 // Attention: if 0.0, then the electron is already left.
53
55
56 // Constructors
58 HeedDeltaElectron(manip_absvol* primvol, const point& pt, const vec& vel,
59 vfloat time, long fparent_particle_number,
60 int fs_print_listing = 0);
61 // Destructor
62 virtual ~HeedDeltaElectron() {}
63
64 virtual void physics_mrange(double& fmrange);
65 virtual void physics_after_new_speed();
66 virtual void print(std::ostream& file, int l) const;
68
69};
70
71}
72
73#endif
macro_copy_total(HeedDeltaElectron)
virtual void physics_after_new_speed()
virtual void physics_mrange(double &fmrange)
virtual void print(std::ostream &file, int l) const
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