EGSnrc C++ class library  Report PIRS-898 (2021)
Iwan Kawrakow, Ernesto Mainegra-Hing, Frederic Tessier, Reid Townson and Blake Walters
Public Member Functions | Protected Attributes | List of all members
EGS_AtomicRelaxations Class Reference

#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_RelaxImplementationp
 

Detailed Description

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.

Constructor & Destructor Documentation

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().

Member Function Documentation

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.


The documentation for this class was generated from the following files: