Garfield++ 3.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
Atomic photo-absorption with excitation. More...
#include <PhotoAbsCS.h>
Public Member Functions | |
virtual double | get_threshold (int nshell) const |
Get the ionization threshold for a given shell. | |
virtual double | get_ACS (double energy) const |
virtual double | get_integral_ACS (double energy1, double energy2) const |
Integrated photo-absorption cross-section overa given interval. | |
virtual double | get_ACS (int nshell, double energy) const |
Sub-shell photo-absorption cross-section [Mbarn] at a given energy [MeV]. | |
virtual double | get_integral_ACS (int nshell, double energy1, double energy2) const |
Integrated sub-shell photo-absorption cross-section. | |
virtual double | get_ICS (double energy) const |
virtual double | get_integral_ICS (double energy1, double energy2) const |
Integrated photo-ionization cross-section over a given interval. | |
virtual double | get_ICS (int nshell, double energy) const |
Sub-shell photo-ionization cross-section at a given energy. | |
virtual double | get_integral_ICS (int nshell, double energy1, double energy2) const |
Integrated sub-shell photo-ionization cross-section. | |
virtual int | get_main_shell_number (int nshell) const |
void | replace_shells_by_average (double fwidth, double fstep, long fmax_q_step) |
virtual void | print (std::ostream &file, int l) const |
virtual ExAtomPhotoAbsCS * | copy () const |
ExAtomPhotoAbsCS () | |
Default constructor. | |
ExAtomPhotoAbsCS (int fZ, const std::string &fthreshold_file_name, const std::string &fsimple_table_file_name, const std::string &fname="none", double fminimal_threshold=0.0) | |
ExAtomPhotoAbsCS (int fZ, const std::string &fname, const std::string &fBT_file_name, int id, double fminimal_threshold=0.0) | |
ExAtomPhotoAbsCS (int fZ, const std::string &fname, const std::string &fFitBT_file_name, int id, int s_no_scale, double fminimal_threshold=0.0) | |
ExAtomPhotoAbsCS (int fZ, const std::string &fname, const std::string &fFitBT_file_name, const std::string &fsimple_table_file_name, double emax_repl, int id, double fminimal_threshold=0.0) | |
virtual | ~ExAtomPhotoAbsCS () |
Destructor. | |
Public Member Functions inherited from Heed::AtomPhotoAbsCS | |
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 | threshold_file_name |
std::string | simple_table_file_name |
std::string | BT_file_name |
std::vector< std::shared_ptr< PhotoAbsCS > > | m_acs |
double | integ_abs_before_corr |
double | integ_abs_after_corr |
double | integ_ioniz_after_corr |
double | height_of_excitation |
Excitation cross-section (assumed in the lowest shell). | |
double | exener [2] |
Boundaries of excitation. | |
double | minimal_threshold |
Protected Attributes inherited from Heed::AtomPhotoAbsCS | |
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. | |
Static Protected Attributes | |
static const int | s_add_excitations_to_normalize = 1 |
static const int | s_scale_to_normalize_if_more = 1 |
Atomic photo-absorption with excitation.
Definition at line 430 of file PhotoAbsCS.h.
|
inline |
Default constructor.
Definition at line 455 of file PhotoAbsCS.h.
Referenced by copy(), and ExAtomPhotoAbsCS().
Heed::ExAtomPhotoAbsCS::ExAtomPhotoAbsCS | ( | int | fZ, |
const std::string & | fthreshold_file_name, | ||
const std::string & | fsimple_table_file_name, | ||
const std::string & | fname = "none" , |
||
double | fminimal_threshold = 0.0 |
||
) |
Constructor,
fZ | atomic number |
fthreshold_file_name | file from which to read name and shell energies |
fsimple_table_file_name | file from which to read the cross-sections |
fname | name of the atom, if "none" it is taken from fthreshold_file_name |
fminimal_threshold | threshold |
Definition at line 1029 of file PhotoAbsCS.cpp.
Heed::ExAtomPhotoAbsCS::ExAtomPhotoAbsCS | ( | int | fZ, |
const std::string & | fname, | ||
const std::string & | fBT_file_name, | ||
int | id, | ||
double | fminimal_threshold = 0.0 |
||
) |
Constructor, shells from Band and Thragzkovskaya.
fZ | atomic number |
fname | name of the atom |
fBT_file_name | file with shell names and energies |
id | 1 - old files without fluorescence rate 2 - new files with fluorescence rate other values - error |
fminimal_threshold | threshold |
Definition at line 1272 of file PhotoAbsCS.cpp.
Heed::ExAtomPhotoAbsCS::ExAtomPhotoAbsCS | ( | int | fZ, |
const std::string & | fname, | ||
const std::string & | fFitBT_file_name, | ||
int | id, | ||
int | s_no_scale, | ||
double | fminimal_threshold = 0.0 |
||
) |
Constructor, shells and fit parameters from Band and Thragzkovskaya.
fZ | atomic number |
fname | name of the atom |
fFitBT_file_name | file with shell names, energies, and fit parameters |
id | 1 - old files without fluorescence rate 2 - new files with fluorescence rate other values - error |
s_no_scale | scaling is not done, needs for next (?) |
fminimal_threshold | threshold |
Definition at line 1398 of file PhotoAbsCS.cpp.
Heed::ExAtomPhotoAbsCS::ExAtomPhotoAbsCS | ( | int | fZ, |
const std::string & | fname, | ||
const std::string & | fFitBT_file_name, | ||
const std::string & | fsimple_table_file_name, | ||
double | emax_repl, | ||
int | id, | ||
double | fminimal_threshold = 0.0 |
||
) |
Constructor, combination of Band and Thragzkovskaya fit and Henke tables. Initialize BT fit and replaces the part of the first shell from threshold taken from BT- fit to emax_repl by values from the table.
fZ | atomic number |
fname | name of the atom |
fFitBT_file_name | file with shell names, energies, and fit parameters |
fsimple_table_file_name | file with cross-section table |
emax_repl | energy up to which to use the cross-section table |
id | 1 - old files without fluorescence rate 2 - new files with fluorescence rate other values - error |
fminimal_threshold | threshold |
Definition at line 1570 of file PhotoAbsCS.cpp.
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
Photo-absorption cross-section [Mbarn] at a given energy [MeV]. The photo-absorption cross-section can include excitation.
Implements Heed::AtomPhotoAbsCS.
Definition at line 1707 of file PhotoAbsCS.cpp.
|
virtual |
Sub-shell photo-absorption cross-section [Mbarn] at a given energy [MeV].
Implements Heed::AtomPhotoAbsCS.
Definition at line 1741 of file PhotoAbsCS.cpp.
|
virtual |
Photo-ionization cross-section [Mbarn] at a given energy [MeV]. The photo-ionization cross-section does not include excitation.
Implements Heed::AtomPhotoAbsCS.
Definition at line 1651 of file PhotoAbsCS.cpp.
|
virtual |
Sub-shell photo-ionization cross-section at a given energy.
Implements Heed::AtomPhotoAbsCS.
Definition at line 1682 of file PhotoAbsCS.cpp.
|
virtual |
Integrated photo-absorption cross-section overa given interval.
Implements Heed::AtomPhotoAbsCS.
Definition at line 1723 of file PhotoAbsCS.cpp.
Referenced by ExAtomPhotoAbsCS(), and print().
|
virtual |
Integrated sub-shell photo-absorption cross-section.
Implements Heed::AtomPhotoAbsCS.
Definition at line 1757 of file PhotoAbsCS.cpp.
|
virtual |
Integrated photo-ionization cross-section over a given interval.
Implements Heed::AtomPhotoAbsCS.
Definition at line 1666 of file PhotoAbsCS.cpp.
Referenced by ExAtomPhotoAbsCS(), and print().
|
virtual |
Integrated sub-shell photo-ionization cross-section.
Implements Heed::AtomPhotoAbsCS.
Definition at line 1694 of file PhotoAbsCS.cpp.
|
inlinevirtual |
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.
Implements Heed::AtomPhotoAbsCS.
Definition at line 445 of file PhotoAbsCS.h.
|
virtual |
Get the ionization threshold for a given shell.
Implements Heed::AtomPhotoAbsCS.
Definition at line 1641 of file PhotoAbsCS.cpp.
Referenced by ExAtomPhotoAbsCS().
|
virtual |
Reimplemented from Heed::AtomPhotoAbsCS.
Definition at line 1775 of file PhotoAbsCS.cpp.
void Heed::ExAtomPhotoAbsCS::replace_shells_by_average | ( | double | fwidth, |
double | fstep, | ||
long | fmax_q_step | ||
) |
Definition at line 1812 of file PhotoAbsCS.cpp.
|
protected |
Definition at line 543 of file PhotoAbsCS.h.
Referenced by ExAtomPhotoAbsCS(), and print().
|
protected |
Boundaries of excitation.
Definition at line 555 of file PhotoAbsCS.h.
Referenced by ExAtomPhotoAbsCS(), get_ACS(), get_integral_ACS(), and print().
|
protected |
Excitation cross-section (assumed in the lowest shell).
Definition at line 553 of file PhotoAbsCS.h.
Referenced by ExAtomPhotoAbsCS(), get_ACS(), get_integral_ACS(), and print().
|
protected |
Definition at line 550 of file PhotoAbsCS.h.
Referenced by ExAtomPhotoAbsCS(), and print().
|
protected |
Definition at line 549 of file PhotoAbsCS.h.
Referenced by ExAtomPhotoAbsCS(), and print().
|
protected |
Definition at line 551 of file PhotoAbsCS.h.
Referenced by ExAtomPhotoAbsCS(), and print().
|
protected |
Ionization cross-section (the name acs is misleading). Excitations are added separately as height_of_excitation.
Definition at line 546 of file PhotoAbsCS.h.
Referenced by ExAtomPhotoAbsCS(), get_ACS(), get_ICS(), get_integral_ACS(), get_integral_ICS(), get_main_shell_number(), get_threshold(), print(), and replace_shells_by_average().
|
protected |
Definition at line 557 of file PhotoAbsCS.h.
Referenced by ExAtomPhotoAbsCS(), get_ACS(), get_ICS(), get_integral_ACS(), get_integral_ICS(), get_threshold(), and print().
|
staticprotected |
Flag whether to add excitations. If 0 excitations will not be added (useful for debugging and for checking the effect produced by adding excitations). For real work, this variable should always be set to 1.
Definition at line 569 of file PhotoAbsCS.h.
Referenced by ExAtomPhotoAbsCS().
|
staticprotected |
Definition at line 570 of file PhotoAbsCS.h.
Referenced by ExAtomPhotoAbsCS().
|
protected |
Definition at line 542 of file PhotoAbsCS.h.
Referenced by print().
|
protected |
Definition at line 541 of file PhotoAbsCS.h.
Referenced by ExAtomPhotoAbsCS(), and print().