Garfield++ v2r0
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) |
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 | threshold_file_name |
std::string | simple_table_file_name |
std::string | BT_file_name |
std::vector< ActivePtr< PhotoAbsCS > > | 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 |
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 photo-absorption with excitation.
Definition at line 429 of file PhotoAbsCS.h.
|
inline |
Default constructor.
Definition at line 454 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 1028 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 1400 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 1573 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 1711 of file PhotoAbsCS.cpp.
|
virtual |
Sub-shell photo-absorption cross-section [Mbarn] at a given energy [MeV].
Implements Heed::AtomPhotoAbsCS.
Definition at line 1745 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 1655 of file PhotoAbsCS.cpp.
|
virtual |
Sub-shell photo-ionization cross-section at a given energy.
Implements Heed::AtomPhotoAbsCS.
Definition at line 1686 of file PhotoAbsCS.cpp.
|
virtual |
Integrated photo-absorption cross-section overa given interval.
Implements Heed::AtomPhotoAbsCS.
Definition at line 1727 of file PhotoAbsCS.cpp.
Referenced by ExAtomPhotoAbsCS(), and print().
|
virtual |
Integrated sub-shell photo-absorption cross-section.
Implements Heed::AtomPhotoAbsCS.
Definition at line 1761 of file PhotoAbsCS.cpp.
|
virtual |
Integrated photo-ionization cross-section over a given interval.
Implements Heed::AtomPhotoAbsCS.
Definition at line 1670 of file PhotoAbsCS.cpp.
Referenced by ExAtomPhotoAbsCS(), and print().
|
virtual |
Integrated sub-shell photo-ionization cross-section.
Implements Heed::AtomPhotoAbsCS.
Definition at line 1698 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 444 of file PhotoAbsCS.h.
|
virtual |
Get the ionization threshold for a given shell.
Implements Heed::AtomPhotoAbsCS.
Definition at line 1645 of file PhotoAbsCS.cpp.
Referenced by ExAtomPhotoAbsCS().
|
virtual |
Reimplemented from Heed::AtomPhotoAbsCS.
Definition at line 1779 of file PhotoAbsCS.cpp.
void Heed::ExAtomPhotoAbsCS::replace_shells_by_average | ( | double | fwidth, |
double | fstep, | ||
long | fmax_q_step | ||
) |
|
protected |
Ionization cross-section (the name acs is misleading). Excitations are added separately as height_of_excitation.
Definition at line 545 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 542 of file PhotoAbsCS.h.
Referenced by ExAtomPhotoAbsCS(), and print().
|
protected |
Boundaries of excitation.
Definition at line 554 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 552 of file PhotoAbsCS.h.
Referenced by ExAtomPhotoAbsCS(), get_ACS(), get_integral_ACS(), and print().
|
protected |
Definition at line 549 of file PhotoAbsCS.h.
Referenced by ExAtomPhotoAbsCS(), and print().
|
protected |
Definition at line 548 of file PhotoAbsCS.h.
Referenced by ExAtomPhotoAbsCS(), and print().
|
protected |
Definition at line 550 of file PhotoAbsCS.h.
Referenced by ExAtomPhotoAbsCS(), and print().
|
protected |
Definition at line 556 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 568 of file PhotoAbsCS.h.
Referenced by ExAtomPhotoAbsCS().
|
staticprotected |
Definition at line 569 of file PhotoAbsCS.h.
Referenced by ExAtomPhotoAbsCS().
|
protected |
Definition at line 541 of file PhotoAbsCS.h.
Referenced by print().
|
protected |
Definition at line 540 of file PhotoAbsCS.h.
Referenced by ExAtomPhotoAbsCS(), and print().