Calculate photon cross section for a given material and
a list of energy, returing a list of cross sections for
the components of "Copmton scattering", "rayleigh scattering",
"photoelectric effect", "pair creation" and total one.
Arguments:
mat: material name
elist: list of energy
verbose: verbose level [0]
plist: list of process name
(compton/rayleigh/photoelectic/conversion) [StandardEM set]
Keys of index:
"compt": Compton Scattering
"rayleigh": Rayleigh Scattering
"phot" : photoelectric effect
"conv" : pair Creation
"tot" : total
Example:
xsec_list= CalculatePhotonCrossSection(...)
value= xsec_list[energy_index]["compt"]
Definition at line 23 of file emcalculator.py.
24 plist=[
"compt",
"",
"phot",
"conv"]):
26 Calculate photon cross section for a given material and
27 a list of energy, returing a list of cross sections for
28 the components of "Copmton scattering", "rayleigh scattering",
29 "photoelectric effect", "pair creation" and total one.
34 verbose: verbose level [0]
35 plist: list of process name
36 (compton/rayleigh/photoelectic/conversion) [StandardEM set]
39 "compt": Compton Scattering
40 "rayleigh": Rayleigh Scattering
41 "phot" : photoelectric effect
42 "conv" : pair Creation
46 xsec_list= CalculatePhotonCrossSection(...)
47 value= xsec_list[energy_index]["compt"]
50 print "-------------------------------------------------------------------"
51 print " Photon Cross Section (", mat,
")"
52 print "Energy Compton Raleigh Photo- Pair Total"
53 print " Scattering Scattering electric Creation"
54 print "(MeV) (cm2/g) (cm2/g) (cm2/g) (cm2/g) (cm2/g)"
55 print "-------------------------------------------------------------------"
61 = gEmCalculator.ComputeCrossSectionPerVolume(ekin,
"gamma", plist[0],
64 = gEmCalculator.ComputeCrossSectionPerVolume(ekin,
"gamma", plist[1],
68 = gEmCalculator.ComputeCrossSectionPerVolume(ekin,
"gamma", plist[2],
71 = gEmCalculator.ComputeCrossSectionPerVolume(ekin,
"gamma", plist[3],
74 xsec[
"tot"]= xsec[
"compt"] + xsec[
"rayleigh"] + xsec[
"phot"] + xsec[
"conv"]
76 xsection_list.append((ekin, xsec))
79 print " %8.3e %8.3e %8.3e %8.3e %8.3e %8.3e" \
80 % (ekin/MeV, xsec[
"compt"]/(cm2/g), xsec[
"rayleigh"]/(cm2/g),
81 xsec[
"phot"]/(cm2/g), xsec[
"conv"]/(cm2/g), xsec[
"tot"]/(cm2/g))