absx_dke_yp

PURPOSE ^

SYNOPSIS ^

function [eff] = absx_dke_yp(k,lc,lf,ef,tf,ea,ta,ec,tc,ed,td)

DESCRIPTION ^

Calculation of the hard X-ray absorption by a set of materials between 10 and 1000 keV

    Input:

        - k: photon energy (keV) [1,m]
        - lc: distance between the diaphragms 1 and 2 (mm) [1,1]
        - lf: distance between diaphragm 1 and the vacuum window (mm) [1,1]
        - ef: thickness of the vacuum window (mm) [m,1]
        - tf: type of material for the vacuum window (Al ou Be) [m,1]
        - ea: thickness of the absorber (mm) [m,1]
        - ta: type of material for the absorber (Al,Fe,Ge,Be ou Pb) [1,1]
        - ec: thickness of the detector's shield (mm) [1,1]
        - tc: type of material for the detector's shield (Al ou Be) [1,1]
        - ed: thickness of the detector (mm) [1,1]
         - td: type of material for the detector (BGO,CsI,NaI ou Ge) [1,1] 

    Output: 

        - eff: stopping efficiency [1,m]

by Y.PEYSSON CEA-DRFC 14/06/1991 <peysson@fedv09.cad.cea.fr>
revised for MatLab 4.1 (19/08/1994)

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [eff] = absx_dke_yp(k,lc,lf,ef,tf,ea,ta,ec,tc,ed,td)
0002 %
0003 %Calculation of the hard X-ray absorption by a set of materials between 10 and 1000 keV
0004 %
0005 %    Input:
0006 %
0007 %        - k: photon energy (keV) [1,m]
0008 %        - lc: distance between the diaphragms 1 and 2 (mm) [1,1]
0009 %        - lf: distance between diaphragm 1 and the vacuum window (mm) [1,1]
0010 %        - ef: thickness of the vacuum window (mm) [m,1]
0011 %        - tf: type of material for the vacuum window (Al ou Be) [m,1]
0012 %        - ea: thickness of the absorber (mm) [m,1]
0013 %        - ta: type of material for the absorber (Al,Fe,Ge,Be ou Pb) [1,1]
0014 %        - ec: thickness of the detector's shield (mm) [1,1]
0015 %        - tc: type of material for the detector's shield (Al ou Be) [1,1]
0016 %        - ed: thickness of the detector (mm) [1,1]
0017 %         - td: type of material for the detector (BGO,CsI,NaI ou Ge) [1,1]
0018 %
0019 %    Output:
0020 %
0021 %        - eff: stopping efficiency [1,m]
0022 %
0023 %by Y.PEYSSON CEA-DRFC 14/06/1991 <peysson@fedv09.cad.cea.fr>
0024 %revised for MatLab 4.1 (19/08/1994)
0025 %
0026 if nargin < 11,
0027     infoyp(2,'Wrong number of input arguments for absx_dke_yp');
0028     return;
0029 end
0030 %
0031 %air...
0032 %
0033 attlinair = attlin_dke_yp(1,k);
0034 transair = exp(-attlinair(1,:)*(lc+lf)*0.1);
0035 %
0036 %vacuum window...
0037 %
0038 if strcmp(tf,'Al')==1,
0039      attlinfen = attlin_dke_yp(4,k);
0040 elseif strcmp(tf,'Be')==1,
0041      attlinfen = attlin_dke_yp(5,k);
0042 elseif strcmp(tf,'In')==1,
0043      attlinfen = attlin_dke_yp(13,k);
0044 else
0045      attlinfen = zeros(size(k));
0046 end
0047 transfen=exp(-attlinfen(1,:)*ef*0.1);
0048 %
0049 %absorber...
0050 %
0051 if (strcmp(ta,'Ge') == 1) | (strcmp(ta,'Ger') == 1),
0052      attlinabs = attlin_dke_yp(2,k);
0053 elseif strcmp(ta,'Fe')==1,
0054      attlinabs = attlin_dke_yp(3,k);
0055 elseif strcmp(ta,'Al')==1,
0056      attlinabs = attlin_dke_yp(4,k);
0057 elseif strcmp(ta,'Be')==1,
0058     attlinabs = attlin_dke_yp(5,k);
0059 elseif strcmp(ta,'Pb')==1,
0060      attlinabs = attlin_dke_yp(6,k);
0061 elseif strcmp(ta,'Cu')==1,
0062      attlinabs = attlin_dke_yp(11,k);
0063 elseif strcmp(ta,'Ni')==1,
0064      attlinabs = attlin_dke_yp(12,k);
0065 elseif strcmp(ta,'In')==1,
0066      attlinabs = attlin_dke_yp(13,k);
0067 else
0068      attlinabs = zeros(4,size(k,2));
0069 end
0070 transabs = exp(-attlinabs(1,:)*ea*0.1);
0071 %
0072 %detector's shield...
0073 %
0074 if strcmp(tc,'Fe')==1,
0075      attlincap = attlin_dke_yp(3,k);
0076 elseif strcmp(tc,'Al')==1,
0077      attlincap = attlin_dke_yp(4,k);
0078 elseif strcmp(tc,'Be')==1,
0079      attlincap = attlin_dke_yp(5,k);
0080 else
0081      attlincap = zeros(4,size(k,2));
0082 end
0083 transcap = exp(-attlincap(1,:)*ec*0.1);
0084 %
0085 %detector...
0086 %
0087 if (strcmp(td,'Ge') == 1) | (strcmp(td,'Ger') == 1) | (strcmp(td,'Ger ') == 1),
0088      attlindec = attlin_dke_yp(2,k);
0089 elseif strcmp(td,'BGO') | (strcmp(td,'BGO ') == 1),
0090      attlindec = attlin_dke_yp(7,k);
0091 elseif strcmp(td,'CsI') | (strcmp(td,'CsI ') == 1),
0092      attlindec = attlin_dke_yp(8,k);
0093 elseif strcmp(td,'NaI') | (strcmp(td,'NaI ') == 1),
0094      attlindec = attlin_dke_yp(9,k);
0095 elseif strcmp(td,'CdTe')==1,
0096      attlindec = attlin_dke_yp(14,k);
0097 else
0098      attlindec = zeros(4,size(k,2));
0099 end
0100 absdec = 1-exp(-attlindec(1,:)*ed*0.1);
0101 %
0102 eff = transair.*(transfen.*(transabs.*(transcap.*absdec)));
0103

Community support and wiki are available on Redmine. Last update: 18-Apr-2019.