Garfield++ v2r0
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. | |
virtual | ~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) |
virtual void | print (std::ostream &file, int l) const |
Public Member Functions inherited from Heed::RegPassivePtr | |
RegPassivePtr (void) | |
RegPassivePtr (char fs_ban_del, char fs_ban_sub, char fs_ban_cop=0) | |
RegPassivePtr (const RegPassivePtr &f) | |
RegPassivePtr & | operator= (const RegPassivePtr &f) |
CountPP_ns::CountPassivePtr * | book (void) const |
void | clear_pointers (void) const |
virtual RegPassivePtr * | copy () const |
virtual | ~RegPassivePtr () |
virtual void | print (std::ostream &file, int l=1) const |
void | set_s_ban_del (char fs_ban_del) |
char | get_s_ban_del (void) const |
void | set_s_ban_sub (char fs_ban_sub) |
char | get_s_ban_sub (void) const |
void | set_s_ban_cop (char fs_ban_cop) |
char | get_s_ban_cop (void) const |
void | set_s_allow_del_at_zero_count (char fs_allow_del_at_zero_count) |
char | get_s_allow_del_at_zero_count (void) const |
long | get_total_number_of_references (void) const |
Protected Attributes | |
std::vector< double > | channel_prob_dens |
std::vector< std::vector< double > > | electron_energy |
std::vector< std::vector< double > > | photon_energy |
Additional Inherited Members | |
Static Public Member Functions inherited from Heed::RegPassivePtr | |
static void | set_s_ban_del_ignore (char fs_ban_del_ignore) |
static char | get_s_ban_del_ignore (void) |
static void | set_s_print_adr_cpp (char fs_print_adr_cpp) |
static char | get_s_print_adr_cpp (void) |
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 249 of file PhotoAbsCS.h.
|
inline |
Constructor.
Definition at line 252 of file PhotoAbsCS.h.
|
inlinevirtual |
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.
|
virtual |
Reimplemented from Heed::RegPassivePtr.
Definition at line 549 of file PhotoAbsCS.cpp.
|
protected |
Definition at line 278 of file PhotoAbsCS.h.
Referenced by add_channel(), get_channel(), and print().
|
protected |
Definition at line 280 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().