EGSnrc C++ class library
Report PIRS-898 (2021)
Iwan Kawrakow, Ernesto Mainegra-Hing, Frederic Tessier, Reid Townson and Blake Walters
|
#include <egs_atomic_relaxations.h>
Public Member Functions | |
EGS_AtomicRelaxations (const char *data_path=0) | |
int | loadData (int Z) |
int | loadAllData () |
int | loadData (int nz, const int *Zarray) |
void | relax (int Z, int sh, EGS_Float ecut, EGS_Float pcut, EGS_RandomGenerator *rndm, double &edep, EGS_SimpleContainer< EGS_RelaxationParticle > &particles) |
EGS_Float | getBindingEnergy (int Z, int shell) |
int | getNShell (int Z) |
void | setBindingEnergy (int Z, int shell, EGS_Float new_be) |
EGS_Float | getMaxGammaEnergy (int Z, int shell) |
EGS_Float | getMaxElectronEnergy (int Z, int shell) |
Protected Attributes | |
EGS_RelaxImplementation * | p |
A class for handling atomic relaxations
Note: this class is used internally at the NRC for some applications, but is not yet used in the distributed user codes or in EGSnrc itself. The difference to the EGSnrc built-in mortran implementation of atomic relaxations is that all shells and relaxations according to data from the EADL library are taken into account.
Definition at line 61 of file egs_atomic_relaxations.h.
EGS_AtomicRelaxations::EGS_AtomicRelaxations | ( | const char * | data_path = 0 | ) |
Constructor
If data_path is not null, the data file (relax.data) will be searched for in this path. Otherwise the data file will be assumed to be in the $HEN_HOUSE/data folder
Definition at line 481 of file egs_atomic_relaxations.cpp.
References EGS_Application::activeApplication(), egsJoinPath(), egsWarning, and EGS_Application::getHenHouse().
int EGS_AtomicRelaxations::loadData | ( | int | Z | ) |
Loads shell transitions for element Z
Returns 0 on success and a non-zero error code on failure.
Definition at line 511 of file egs_atomic_relaxations.cpp.
int EGS_AtomicRelaxations::loadAllData | ( | ) |
Loads shell transitions for all elements
Returns 0 on success and a non-zero error code on failure.
Definition at line 519 of file egs_atomic_relaxations.cpp.
int EGS_AtomicRelaxations::loadData | ( | int | nz, |
const int * | Zarray | ||
) |
Loads shell transitions for the \a nz elements in the array \a Zarray
Returns 0 on success and a non-zero error code on failure.
Definition at line 515 of file egs_atomic_relaxations.cpp.
void EGS_AtomicRelaxations::relax | ( | int | Z, |
int | sh, | ||
EGS_Float | ecut, | ||
EGS_Float | pcut, | ||
EGS_RandomGenerator * | rndm, | ||
double & | edep, | ||
EGS_SimpleContainer< EGS_RelaxationParticle > & | particles | ||
) |
Perform the relaxation cascade for shell sh from element Z.
The resulting relaxation particles are stored in the container particles. Relaxation photons/electrons with energies below pcut / ecut will not be produced and their energy will be added to edep. The binding enerty of the outermost shell and shells for which there is no data will also be added to edep.
Definition at line 523 of file egs_atomic_relaxations.cpp.
EGS_Float EGS_AtomicRelaxations::getBindingEnergy | ( | int | Z, |
int | shell | ||
) |
Returns the binding energy of shell shell in element Z
Definition at line 529 of file egs_atomic_relaxations.cpp.
int EGS_AtomicRelaxations::getNShell | ( | int | Z | ) |
Returns the number of shells in element Z
Definition at line 533 of file egs_atomic_relaxations.cpp.
void EGS_AtomicRelaxations::setBindingEnergy | ( | int | Z, |
int | shell, | ||
EGS_Float | new_be | ||
) |
Set the binding energy of shell shell in element Z to new_be. This method can be used to overwrite the default data loaded with the relaxation probabilities when using a photon cross section tabulation other than EPFL97
Definition at line 537 of file egs_atomic_relaxations.cpp.
EGS_Float EGS_AtomicRelaxations::getMaxGammaEnergy | ( | int | Z, |
int | shell | ||
) |
Returns the maximum energy of characteristic X-rays created when filling a vacancy in shell shell of element Z.
Definition at line 542 of file egs_atomic_relaxations.cpp.
EGS_Float EGS_AtomicRelaxations::getMaxElectronEnergy | ( | int | Z, |
int | shell | ||
) |
Returns the maximum energy of Auger electrons created when filling a vacancy in shell shell of element Z.
Definition at line 546 of file egs_atomic_relaxations.cpp.