Garfield++ 4.0
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) |
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. | |
Atomic photoabsorption cross-section abstract base class.
Definition at line 286 of file PhotoAbsCS.h.
Heed::AtomPhotoAbsCS::AtomPhotoAbsCS | ( | ) |
|
pure virtual |
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 851 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 294 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 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 381 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 369 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 373 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 379 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 371 of file PhotoAbsCS.h.
Referenced by Heed::ExAtomPhotoAbsCS::ExAtomPhotoAbsCS(), get_Z(), print(), Heed::SimpleAtomPhotoAbsCS::print(), Heed::ExAtomPhotoAbsCS::print(), and Heed::SimpleAtomPhotoAbsCS::SimpleAtomPhotoAbsCS().