Garfield++ v2r0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
Atomic photoabsorption cross-section abstract base class. More...
#include <PhotoAbsCS.h>
Public Member Functions | |
AtomPhotoAbsCS () | |
Default constructor. | |
int | get_Z () const |
Get the atomic number. | |
unsigned int | get_qshell () const |
Get the number of shells. | |
virtual double | get_threshold (int nshell) const =0 |
Get the ionization threshold for a given shell. | |
virtual double | get_I_min () const |
Get the lowest ionization threshold among all shells. | |
virtual double | get_ACS (double energy) const =0 |
virtual double | get_integral_ACS (double energy1, double energy2) const =0 |
Integrated photo-absorption cross-section overa given interval. | |
virtual double | get_ACS (int nshell, double energy) const =0 |
Sub-shell photo-absorption cross-section [Mbarn] at a given energy [MeV]. | |
virtual double | get_integral_ACS (int nshell, double energy1, double energy2) const =0 |
Integrated sub-shell photo-absorption cross-section. | |
virtual double | get_ICS (double energy) const =0 |
virtual double | get_TICS (double energy, double factual_minimal_threshold) const |
virtual double | get_integral_ICS (double energy1, double energy2) const =0 |
Integrated photo-ionization cross-section over a given interval. | |
virtual double | get_integral_TICS (double energy1, double energy2, double factual_minimal_threshold) const |
Integral photo-ionization cross-section with redefined threshold. | |
virtual double | get_ICS (int nshell, double energy) const =0 |
Sub-shell photo-ionization cross-section at a given energy. | |
virtual double | get_TICS (int nshell, double energy, double factual_minimal_threshold) const |
Sub-shell photo-ionization cross-section with redefined threshold. | |
virtual double | get_integral_ICS (int nshell, double energy1, double energy2) const =0 |
Integrated sub-shell photo-ionization cross-section. | |
virtual double | get_integral_TICS (int nshell, double energy1, double energy2, double factual_minimal_threshold) const |
Integrated sub-shell photo-ionization cross-section (redefined threshold). | |
virtual void | get_escape_particles (const int nshell, double energy, std::vector< double > &el_energy, std::vector< double > &ph_energy) const |
virtual int | get_main_shell_number (int nshell) const =0 |
virtual void | remove_shell (int nshell) |
Deactivate a sub-shell. Set s_ignore_shell flag to true. | |
virtual void | restore_shell (int nshell) |
Activate a sub-shell. Set s_ignore_shell flag to false. | |
virtual void | print (std::ostream &file, int l) const |
virtual AtomPhotoAbsCS * | copy () const =0 |
AtomicSecondaryProducts * | get_asp (int nshell) |
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::string | name |
Name of the atom. | |
int | Z |
Atomic number. | |
int | qshell |
Number of shells. | |
std::vector< bool > | s_ignore_shell |
std::vector< AtomicSecondaryProducts > | asp |
Sampling of relaxation products for each shell. | |
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) |
Atomic photoabsorption cross-section abstract base class.
Definition at line 285 of file PhotoAbsCS.h.
Heed::AtomPhotoAbsCS::AtomPhotoAbsCS | ( | ) |
|
pure virtual |
Reimplemented from Heed::RegPassivePtr.
Implemented in Heed::SimpleAtomPhotoAbsCS, and Heed::ExAtomPhotoAbsCS.
|
pure virtual |
Photo-absorption cross-section [Mbarn] at a given energy [MeV]. The photo-absorption cross-section can include excitation.
Implemented in Heed::SimpleAtomPhotoAbsCS, and Heed::ExAtomPhotoAbsCS.
Referenced by get_TICS().
|
pure virtual |
Sub-shell photo-absorption cross-section [Mbarn] at a given energy [MeV].
Implemented in Heed::SimpleAtomPhotoAbsCS, and Heed::ExAtomPhotoAbsCS.
AtomicSecondaryProducts * Heed::AtomPhotoAbsCS::get_asp | ( | int | nshell | ) |
Definition at line 853 of file PhotoAbsCS.cpp.
|
virtual |
Sample the electrons and photons emitted following ionisation of a given shell.
nshell | shell index |
energy | can be a little bit below threshold |
el_energy | electron energies. The photo-electron is the first one. Later (in HeedPhoton) the photo-electron is emitted in the forward direction. The other are sampled isotropically. |
ph_energy | photon energies |
Definition at line 675 of file PhotoAbsCS.cpp.
|
virtual |
Get the lowest ionization threshold among all shells.
Definition at line 667 of file PhotoAbsCS.cpp.
|
pure virtual |
Photo-ionization cross-section [Mbarn] at a given energy [MeV]. The photo-ionization cross-section does not include excitation.
Implemented in Heed::SimpleAtomPhotoAbsCS, and Heed::ExAtomPhotoAbsCS.
|
pure virtual |
Sub-shell photo-ionization cross-section at a given energy.
Implemented in Heed::SimpleAtomPhotoAbsCS, and Heed::ExAtomPhotoAbsCS.
|
pure virtual |
Integrated photo-absorption cross-section overa given interval.
Implemented in Heed::SimpleAtomPhotoAbsCS, and Heed::ExAtomPhotoAbsCS.
Referenced by get_integral_TICS(), and get_TICS().
|
pure virtual |
Integrated sub-shell photo-absorption cross-section.
Implemented in Heed::ExAtomPhotoAbsCS, and Heed::SimpleAtomPhotoAbsCS.
|
pure virtual |
Integrated photo-ionization cross-section over a given interval.
Implemented in Heed::SimpleAtomPhotoAbsCS, and Heed::ExAtomPhotoAbsCS.
|
pure virtual |
Integrated sub-shell photo-ionization cross-section.
Implemented in Heed::SimpleAtomPhotoAbsCS, and Heed::ExAtomPhotoAbsCS.
|
virtual |
Integral photo-ionization cross-section with redefined threshold.
Definition at line 593 of file PhotoAbsCS.cpp.
|
virtual |
Integrated sub-shell photo-ionization cross-section (redefined threshold).
Definition at line 611 of file PhotoAbsCS.cpp.
|
pure virtual |
Return the shell number (1, 2, ...) for a given index. The number is taken from the shell name. If the shell number cannot be determined, the function returns -1.
Implemented in Heed::SimpleAtomPhotoAbsCS, and Heed::ExAtomPhotoAbsCS.
Referenced by get_escape_particles().
|
inline |
Get the number of shells.
Definition at line 293 of file PhotoAbsCS.h.
Referenced by get_escape_particles().
|
pure virtual |
Get the ionization threshold for a given shell.
Implemented in Heed::SimpleAtomPhotoAbsCS, and Heed::ExAtomPhotoAbsCS.
Referenced by get_escape_particles(), and get_I_min().
|
virtual |
Photo-ionization cross-section assuming a redefined ionization threshold. This function can be useful for redefining the ionization threshold in atomic mixtures, where on atom can transfer excitations to another one with lower ionization threshold (Penning/Jesse effect).
Definition at line 582 of file PhotoAbsCS.cpp.
|
virtual |
Sub-shell photo-ionization cross-section with redefined threshold.
Definition at line 601 of file PhotoAbsCS.cpp.
|
inline |
|
virtual |
Reimplemented from Heed::RegPassivePtr.
Reimplemented in Heed::SimpleAtomPhotoAbsCS, and Heed::ExAtomPhotoAbsCS.
Definition at line 635 of file PhotoAbsCS.cpp.
Referenced by Heed::operator<<(), Heed::SimpleAtomPhotoAbsCS::print(), and Heed::ExAtomPhotoAbsCS::print().
|
virtual |
Deactivate a sub-shell. Set s_ignore_shell flag to true.
Definition at line 623 of file PhotoAbsCS.cpp.
|
virtual |
Activate a sub-shell. Set s_ignore_shell flag to false.
Definition at line 629 of file PhotoAbsCS.cpp.
|
protected |
Sampling of relaxation products for each shell.
Definition at line 380 of file PhotoAbsCS.h.
Referenced by Heed::ExAtomPhotoAbsCS::ExAtomPhotoAbsCS(), get_asp(), get_escape_particles(), print(), and Heed::SimpleAtomPhotoAbsCS::SimpleAtomPhotoAbsCS().
|
protected |
Name of the atom.
Definition at line 368 of file PhotoAbsCS.h.
Referenced by Heed::ExAtomPhotoAbsCS::ExAtomPhotoAbsCS(), print(), Heed::SimpleAtomPhotoAbsCS::print(), Heed::ExAtomPhotoAbsCS::print(), and Heed::SimpleAtomPhotoAbsCS::SimpleAtomPhotoAbsCS().
|
protected |
Number of shells.
Definition at line 372 of file PhotoAbsCS.h.
Referenced by Heed::ExAtomPhotoAbsCS::ExAtomPhotoAbsCS(), Heed::SimpleAtomPhotoAbsCS::get_ACS(), Heed::ExAtomPhotoAbsCS::get_ACS(), get_asp(), get_escape_particles(), get_I_min(), Heed::SimpleAtomPhotoAbsCS::get_ICS(), Heed::ExAtomPhotoAbsCS::get_ICS(), Heed::SimpleAtomPhotoAbsCS::get_integral_ACS(), Heed::ExAtomPhotoAbsCS::get_integral_ACS(), Heed::SimpleAtomPhotoAbsCS::get_integral_ICS(), Heed::ExAtomPhotoAbsCS::get_integral_ICS(), get_qshell(), Heed::SimpleAtomPhotoAbsCS::get_threshold(), Heed::ExAtomPhotoAbsCS::get_threshold(), print(), Heed::SimpleAtomPhotoAbsCS::print(), Heed::ExAtomPhotoAbsCS::print(), remove_shell(), Heed::ExAtomPhotoAbsCS::replace_shells_by_average(), restore_shell(), and Heed::SimpleAtomPhotoAbsCS::SimpleAtomPhotoAbsCS().
|
protected |
Array of flags whether to use a shell (false) or ignore it (true). It does not affect threshold and escape sequences. By default all elements are set to false.
Definition at line 378 of file PhotoAbsCS.h.
Referenced by Heed::ExAtomPhotoAbsCS::ExAtomPhotoAbsCS(), Heed::SimpleAtomPhotoAbsCS::get_ACS(), Heed::ExAtomPhotoAbsCS::get_ACS(), Heed::SimpleAtomPhotoAbsCS::get_ICS(), Heed::ExAtomPhotoAbsCS::get_ICS(), Heed::SimpleAtomPhotoAbsCS::get_integral_ACS(), Heed::ExAtomPhotoAbsCS::get_integral_ACS(), Heed::SimpleAtomPhotoAbsCS::get_integral_ICS(), Heed::ExAtomPhotoAbsCS::get_integral_ICS(), get_integral_TICS(), get_TICS(), print(), remove_shell(), restore_shell(), and Heed::SimpleAtomPhotoAbsCS::SimpleAtomPhotoAbsCS().
|
protected |
Atomic number.
Definition at line 370 of file PhotoAbsCS.h.
Referenced by Heed::ExAtomPhotoAbsCS::ExAtomPhotoAbsCS(), get_Z(), print(), Heed::SimpleAtomPhotoAbsCS::print(), Heed::ExAtomPhotoAbsCS::print(), and Heed::SimpleAtomPhotoAbsCS::SimpleAtomPhotoAbsCS().