Garfield++ 4.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
#include <PhotoAbsCS.h>
Public Member Functions | |
AtomicSecondaryProducts () | |
Constructor. | |
~AtomicSecondaryProducts () | |
Destructor. | |
int | get_channel (std::vector< double > &felectron_energy, std::vector< double > &fphoton_energy) const |
void | add_channel (double fchannel_prob_dens, const std::vector< double > &felectron_energy, const std::vector< double > &fphoton_energy, int s_all_rest=0) |
void | print (std::ostream &file, int l) const |
Protected Attributes | |
std::vector< double > | channel_prob_dens |
std::vector< std::vector< double > > | electron_energy |
std::vector< std::vector< double > > | photon_energy |
Sampling of secondary particles. The initial photo-electron is not included. The photo-electron is completely independent on the secondary channel and it always has an energy equal to transferred energy minus shell energy. This class proposes particles which can be emitted at filling this shell. This class can be interpreted as an additional channels for the default one. The sum of channel_prob_dens may be less than unity. The concrete channel for the particular event is sampled by get_channel(). If the random sampling does not point to one of the channels registering in this class, get_channel returns 0, which must be interpreted as the use of standard channel.
Definition at line 250 of file PhotoAbsCS.h.
|
inline |
Constructor.
Definition at line 253 of file PhotoAbsCS.h.
|
inline |
void Heed::AtomicSecondaryProducts::add_channel | ( | double | fchannel_prob_dens, |
const std::vector< double > & | felectron_energy, | ||
const std::vector< double > & | fphoton_energy, | ||
int | s_all_rest = 0 |
||
) |
Add new decay channel. Should be used at initialization.
fchannel_prob_dens | probability for this channel. |
felectron_energy | electron energies [MeV] |
fphoton_energy | photon energies [MeV] |
s_all_rest | if 1, the probability of this channel is assigned to that what is left to 1. fchannel_prob_dens is then ignored, it can be just 0. |
Definition at line 469 of file PhotoAbsCS.cpp.
int Heed::AtomicSecondaryProducts::get_channel | ( | std::vector< double > & | felectron_energy, |
std::vector< double > & | fphoton_energy | ||
) | const |
Sample a channel (photon and electron energies in MeV). Return 1 if the channel is generated and 0 if not.
Definition at line 506 of file PhotoAbsCS.cpp.
void Heed::AtomicSecondaryProducts::print | ( | std::ostream & | file, |
int | l | ||
) | const |
Definition at line 549 of file PhotoAbsCS.cpp.
|
protected |
Definition at line 279 of file PhotoAbsCS.h.
Referenced by add_channel(), get_channel(), and print().
|
protected |
Definition at line 281 of file PhotoAbsCS.h.
Referenced by add_channel(), get_channel(), and print().
|
protected |
Definition at line 282 of file PhotoAbsCS.h.
Referenced by add_channel(), get_channel(), and print().