#%TITLE% PERTAB.MAC
#%NAME%
#%B%PerTab.mac%B% - extract from files different parameters for the
# elements of the periodical table
#%END%
#%IU% (elem, edge)
#%MDESC% Extract from a file the electron binding energy in KeV for the couple
#%B%elem%B%-%B%edge%B%.
def _ElBind(elem, edge) '{
local line ftemp
local EEdge
local _fname
_fname = "/users/blissadm/local/spec/userconf/BindingEnergies.dat"
line = getline(_fname)
while (line != -1) {
split(line, ftemp)
if (ftemp[1] == elem) {
#file data in eV, we need keV
EEdge = ftemp[edge+2]/1000.
if (_DEBUG == 1) {
(edge < 1 ) ? (ename="K") : (ename = sprintf("L%d",edge))
printf("%d edge energy: %2.4f KeV\n", ename, EEdge)
}
#close file before exit
getline(_fname, "close")
return(EEdge)
}
line=getline(_fname)
}
# close file
getline(_fname, "close")
return(-1)
}'
#%IU% (elem, edge)
#%MDESC% Extract from a file the natural width in KeV for the couple
#%B%elem%B%-%B%edge%B%.
def _NWidth(elem, edge) '{
local line ftemp
local Gamma
local _fname ename
if (edge > 3)
return (-1)
ename = ""
_fname = "/users/blissadm/local/spec/userconf/NaturalWidth.dat"
line = getline(_fname)
while (line != -1) {
split(line, ftemp)
if (ftemp[1] == elem) {
#file data in eV, we need keV
Gamma = ftemp[edge+2]/1000.
if (_DEBUG == 1) {
(edge < 1 ) ? (ename="K") : (ename = sprintf("L%d",edge))
printf("%s %s: gamma=%g KeV\n", elem, ename, Gamma)
}
#close file before exit
getline(_fname, "close")
return(Gamma)
}
line=getline(_fname)
}
# close file
getline(_fname, "close")
return(-1)
}'
#%IMACROS%
#%TOC%
#%AUTHOR% A.Beteva/BLISS %BR%
#$Revision: 1.1 $, $Date: 2010/07/28 14:30:02 $
#%END%
#%LOG%
#$Log: PerTab.mac,v $
#Revision 1.1 2010/07/28 14:30:02 beteva
#Initial revision
#
|