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

A structure corresponding to the xsection_options common block. More...

#include <egs_interface2.h>

Public Attributes

EGS_I32 ibrdst
 
EGS_I32 iprdst
 
EGS_I32 ibr_nist
 
EGS_I32 spin_effects
 
EGS_I32 ibcmp
 
EGS_I32 iraylr
 
EGS_I32 iedgfl
 
EGS_I32 iphter
 
EGS_I32 pair_nrc
 
EGS_I32 itriplet
 
EGS_I32 radc_flag
 
EGS_I32 eii_flag
 
EGS_I32 iphotonuc
 
EGS_I32 eadl_relax
 
EGS_I32 mcdf_pe_xsections
 

Detailed Description

A structure corresponding to the xsection_options common block.

Contains all cross section options available for EGSnrc. Note that this common block is created specifically for the C/C++ interface using mortran's replacement capabilities by removing the cross section option variables from their respective common blocks (e.g. ibrdst is normally in BREMPR) and putting them together into a cross section options common block, so that not so many mortran common blocks have to be exported as C structures (especially in view of the fact that most of the information in these common blocks is private to the EGSnrc system and should not be touched by the user).

Note that in C++ applications derived from EGS_SimpleApplication and EGS_AdvancedApplication all cross section options can be set in the input file by including

:start MC transport parameter:
    Bound Compton scattering = On/Off
    Rayleigh scattering = On/Off
    ...
:stop MC transport parameter:

(see the documentation of the data members for the keys needed for all options). A similar effect can be obtained in C applications by using the egsGetTransportParameter() function.

Definition at line 389 of file egs_interface2.h.

Member Data Documentation

EGS_I32 EGS_XOptions::ibrdst

Determines the angular distribution of bremstrahlung. If set to 2, Eq. 2BS of the review article by Koch and Motz will be used. If set to 1, the leading term of 2BS will be used (the default). If set to zero, the photons will inherit the direction of the electron so that the user can implement their own angular distribution by calling ausgab() after the bremsstrahlung event and setting the angles of the photons.

Can be set in the input file using

Brems angular sampling= Simple or KM

Definition at line 404 of file egs_interface2.h.

Referenced by EGS_AdvancedApplication::helpInit().

EGS_I32 EGS_XOptions::iprdst

Determines the angular distribution of pair particles. If set to 2, the Schiff formula will be used (Eq. 3D-2003 of the review article by Motz, Olsen and Koch), if set to 1 the leading term of the Schiff formula will be used (the default), if set to 0 the original EGS4 approach of polar angle = ratio of rest energy to total energy is employed.

Can be set in the input file using

Pair angular sampling= Off or Simple or KM

Definition at line 417 of file egs_interface2.h.

Referenced by EGS_AdvancedApplication::helpInit().

EGS_I32 EGS_XOptions::ibr_nist

Determines the bremsstrahlung cross sections differential in the photon energy to be used for sampling the photon energy. If set to 0, the Bethe-Heitler high energy approximation will be used. If set to 1, the NIST tabulations provided by Steve Seltzer will be employed. If set to 2, the NRC brems data will be used, which is a modified version of the NIST data with corrected electron-electron brems contributions. Default is 0.

Can be set in the input file using

Brems cross sections= BH or NIST or NRC

Definition at line 432 of file egs_interface2.h.

Referenced by EGS_AdvancedApplication::helpInit().

EGS_I32 EGS_XOptions::spin_effects

Determines if spin effects will be taken into account in electron and positron elastic scattering (1=yes, the default, 0=no)

Can be set in the input file using

Spin effects= On or Off

Definition at line 442 of file egs_interface2.h.

Referenced by EGS_AdvancedApplication::helpInit(), and EGS_AdvancedApplication::initCrossSections().

EGS_I32 EGS_XOptions::ibcmp

Bound Compton scattering flag. If set to 0, Compton scattering will be modeled according to Klein-Nishina, if set to 1 (the default), Compton scattering will be modeled according to the relativistic impulse approximation that takes into account binding and Doppler broadenning.

Can be set in the input file using

Bound Compton scattering= On or Off

Definition at line 455 of file egs_interface2.h.

Referenced by EGS_AdvancedApplication::helpInit().

EGS_I32 EGS_XOptions::iraylr

Reyleigh scattering flag. If set to 0 (the default), no Reyleigh scattering will be done. Note that if you turn on Reyleigh scattering by setting this flag to 1, all PEGS4 data sets must include Reyleigh data

Can be set in the input file using

Reyleigh scattering= On or Off

Definition at line 467 of file egs_interface2.h.

Referenced by EGS_AdvancedApplication::helpInit(), and EGS_AdvancedApplication::setRayleighData().

EGS_I32 EGS_XOptions::iedgfl

Atomic relaxations flag. If set to 1 (the default), vacancies created in shells with binding energies above 1 keV will be relaxed by fluorescent, Auger and Coster-Kronig transitions. Vacancies can be currently created after photo-absorption, bound Compton scattering and electron inelastic scattering (if eii_flag is not 0). If set to 0, the binding energy will be given to the photo-electron or deposited locally.

Definition at line 477 of file egs_interface2.h.

Referenced by EGS_AdvancedApplication::helpInit().

EGS_I32 EGS_XOptions::iphter

Determines the angular distribution of photo-electrons. If set to 1 (the default), the angle of photo-electrons will be sampled from the Sauter distribution. If set to 0, photo-electrons inherit the direction of the incident photon.

Can be set in the input file using

Atomic relaxations= On or Off

Definition at line 489 of file egs_interface2.h.

Referenced by EGS_AdvancedApplication::helpInit().

EGS_I32 EGS_XOptions::pair_nrc

Pair cross sections flag. If set to 0 (the default), the energy of the pair particles will be sampled from the first Born approximation cross section in its high-energy appoximation derived by Bethe-Heitler. If set to 1, energies will be sampled from the NRC tabulations based on the exact cross sections (tabulations are available up to 85 MeV, above 85 MeV the Bethe-Heitler cross sections are very close to the exact cross sections).

Can be set in the input file using

Pair cross sections= BH or NRC

Definition at line 504 of file egs_interface2.h.

Referenced by EGS_AdvancedApplication::helpInit().

EGS_I32 EGS_XOptions::itriplet

Triplet production flag. If set to 0 (the default), triplet events will be simulated as pair events. If set to 1, triplet event will be explicitely simulated using the Borsellino cross section

Can be set in the input file using

Triplet production= On or Off

Definition at line 515 of file egs_interface2.h.

Referenced by EGS_AdvancedApplication::helpInit().

EGS_I32 EGS_XOptions::radc_flag

Flag for radiative corrections for Compton scattering. If set to 0 (the default), Compton scattering is modelled according to Klein-Nishina or RIA, depending on ibcmp. If set to 1 and rad_compton.mortran is compiled with the other EGSnrc mortran sources, radiative corrections are taken into account in next-to-leading order.

Can be set in the input file using

Radiative Compton corrections= On or Off

Definition at line 529 of file egs_interface2.h.

Referenced by EGS_AdvancedApplication::helpInit().

EGS_I32 EGS_XOptions::eii_flag

Electron impact ionization (EII) flag. If set to 0 (the default), no EII occurs. If set to 1, EII is simulated using cross sections based on unpublished work by Kawrakow

Can be set in the input file using

 Electron Impact Ionization= On or Off

Definition at line 540 of file egs_interface2.h.

Referenced by EGS_AdvancedApplication::setEIIData().

EGS_I32 EGS_XOptions::iphotonuc
Photonuclear attenuation flag. OFF if set to 0 (the default).

Can be set in the input file using

Photonuclear attenuation= On or Off

Definition at line 549 of file egs_interface2.h.

Referenced by EGS_AdvancedApplication::helpInit().


The documentation for this struct was generated from the following file: