{ This file has been generated automatically using generate-code.py}

function AtomicWeight(Z:longint):double;
function ElementDensity(Z:longint):double;
function CS_Total(Z:longint; E:double):double;
function CS_Photo(Z:longint; E:double):double;
function CS_Rayl(Z:longint; E:double):double;
function CS_Compt(Z:longint; E:double):double;
function CS_Energy(Z:longint; E:double):double;
function CS_KN(E:double):double;
function CSb_Total(Z:longint; E:double):double;
function CSb_Photo(Z:longint; E:double):double;
function CSb_Rayl(Z:longint; E:double):double;
function CSb_Compt(Z:longint; E:double):double;
function DCS_Thoms(theta:double):double;
function DCS_KN(E:double; theta:double):double;
function DCS_Rayl(Z:longint; E:double; theta:double):double;
function DCS_Compt(Z:longint; E:double; theta:double):double;
function DCSb_Rayl(Z:longint; E:double; theta:double):double;
function DCSb_Compt(Z:longint; E:double; theta:double):double;
function DCSP_Thoms(theta:double; phi:double):double;
function DCSP_KN(E:double; theta:double; phi:double):double;
function DCSP_Rayl(Z:longint; E:double; theta:double; phi:double):double;
function DCSP_Compt(Z:longint; E:double; theta:double; phi:double):double;
function DCSPb_Rayl(Z:longint; E:double; theta:double; phi:double):double;
function DCSPb_Compt(Z:longint; E:double; theta:double; phi:double):double;
function FF_Rayl(Z:longint; q:double):double;
function SF_Compt(Z:longint; q:double):double;
function MomentTransf(E:double; theta:double):double;
function LineEnergy(Z:longint; line:longint):double;
function FluorYield(Z:longint; shell:longint):double;
function CosKronTransProb(Z:longint; trans:longint):double;
function EdgeEnergy(Z:longint; shell:longint):double;
function JumpFactor(Z:longint; shell:longint):double;
function CS_FluorLine(Z:longint; line:longint; E:double):double;
function CSb_FluorLine(Z:longint; line:longint; E:double):double;
function CS_FluorShell(Z:longint; shell:longint; E:double):double;
function CSb_FluorShell(Z:longint; shell:longint; E:double):double;
function RadRate(Z:longint; line:longint):double;
function ComptonEnergy(E0:double; theta:double):double;
function Fi(Z:longint; E:double):double;
function Fii(Z:longint; E:double):double;
function CS_Photo_Total(Z:longint; E:double):double;
function CSb_Photo_Total(Z:longint; E:double):double;
function CS_Photo_Partial(Z:longint; shell:longint; E:double):double;
function CSb_Photo_Partial(Z:longint; shell:longint; E:double):double;
function CS_Total_Kissel(Z:longint; E:double):double;
function CSb_Total_Kissel(Z:longint; E:double):double;
function ComptonProfile(Z:longint; pz:double):double;
function ComptonProfile_Partial(Z:longint; shell:longint; pz:double):double;
function ElectronConfig(Z:longint; shell:longint):double;
function ElectronConfig_Biggs(Z:longint; shell:longint):double;
function AtomicLevelWidth(Z:longint; shell:longint):double;
function AugerRate(Z:longint; auger_trans:longint):double;
function AugerYield(Z:longint; shell:longint):double;
function CS_FluorLine_Kissel(Z:longint; line:longint; E:double):double;
function CSb_FluorLine_Kissel(Z:longint; line:longint; E:double):double;
function CS_FluorLine_Kissel_Cascade(Z:longint; line:longint; E:double):double;
function CSb_FluorLine_Kissel_Cascade(Z:longint; line:longint; E:double):double;
function CS_FluorLine_Kissel_Nonradiative_Cascade(Z:longint; line:longint; E:double):double;
function CSb_FluorLine_Kissel_Nonradiative_Cascade(Z:longint; line:longint; E:double):double;
function CS_FluorLine_Kissel_Radiative_Cascade(Z:longint; line:longint; E:double):double;
function CSb_FluorLine_Kissel_Radiative_Cascade(Z:longint; line:longint; E:double):double;
function CS_FluorLine_Kissel_no_Cascade(Z:longint; line:longint; E:double):double;
function CSb_FluorLine_Kissel_no_Cascade(Z:longint; line:longint; E:double):double;
function CS_FluorShell_Kissel(Z:longint; shell:longint; E:double):double;
function CSb_FluorShell_Kissel(Z:longint; shell:longint; E:double):double;
function CS_FluorShell_Kissel_Cascade(Z:longint; shell:longint; E:double):double;
function CSb_FluorShell_Kissel_Cascade(Z:longint; shell:longint; E:double):double;
function CS_FluorShell_Kissel_Nonradiative_Cascade(Z:longint; shell:longint; E:double):double;
function CSb_FluorShell_Kissel_Nonradiative_Cascade(Z:longint; shell:longint; E:double):double;
function CS_FluorShell_Kissel_Radiative_Cascade(Z:longint; shell:longint; E:double):double;
function CSb_FluorShell_Kissel_Radiative_Cascade(Z:longint; shell:longint; E:double):double;
function CS_FluorShell_Kissel_no_Cascade(Z:longint; shell:longint; E:double):double;
function CSb_FluorShell_Kissel_no_Cascade(Z:longint; shell:longint; E:double):double;
function PL1_pure_kissel(Z:longint; E:double):double;
function PL1_rad_cascade_kissel(Z:longint; E:double; PK:double):double;
function PL1_auger_cascade_kissel(Z:longint; E:double; PK:double):double;
function PL1_full_cascade_kissel(Z:longint; E:double; PK:double):double;
function PL2_pure_kissel(Z:longint; E:double; PL1:double):double;
function PL2_rad_cascade_kissel(Z:longint; E:double; PK:double; PL1:double):double;
function PL2_auger_cascade_kissel(Z:longint; E:double; PK:double; PL1:double):double;
function PL2_full_cascade_kissel(Z:longint; E:double; PK:double; PL1:double):double;
function PL3_pure_kissel(Z:longint; E:double; PL1:double; PL2:double):double;
function PL3_rad_cascade_kissel(Z:longint; E:double; PK:double; PL1:double; PL2:double):double;
function PL3_auger_cascade_kissel(Z:longint; E:double; PK:double; PL1:double; PL2:double):double;
function PL3_full_cascade_kissel(Z:longint; E:double; PK:double; PL1:double; PL2:double):double;
function PM1_pure_kissel(Z:longint; E:double):double;
function PM1_rad_cascade_kissel(Z:longint; E:double; PK:double; PL1:double; PL2:double; PL3:double):double;
function PM1_auger_cascade_kissel(Z:longint; E:double; PK:double; PL1:double; PL2:double; PL3:double):double;
function PM1_full_cascade_kissel(Z:longint; E:double; PK:double; PL1:double; PL2:double; PL3:double):double;
function PM2_pure_kissel(Z:longint; E:double; PM1:double):double;
function PM2_rad_cascade_kissel(Z:longint; E:double; PK:double; PL1:double; PL2:double; PL3:double; PM1:double):double;
function PM2_auger_cascade_kissel(Z:longint; E:double; PK:double; PL1:double; PL2:double; PL3:double; PM1:double):double;
function PM2_full_cascade_kissel(Z:longint; E:double; PK:double; PL1:double; PL2:double; PL3:double; PM1:double):double;
function PM3_pure_kissel(Z:longint; E:double; PM1:double; PM2:double):double;
function PM3_rad_cascade_kissel(Z:longint; E:double; PK:double; PL1:double; PL2:double; PL3:double; PM1:double; PM2:double):double;
function PM3_auger_cascade_kissel(Z:longint; E:double; PK:double; PL1:double; PL2:double; PL3:double; PM1:double; PM2:double):double;
function PM3_full_cascade_kissel(Z:longint; E:double; PK:double; PL1:double; PL2:double; PL3:double; PM1:double; PM2:double):double;
function PM4_pure_kissel(Z:longint; E:double; PM1:double; PM2:double; PM3:double):double;
function PM4_rad_cascade_kissel(Z:longint; E:double; PK:double; PL1:double; PL2:double; PL3:double; PM1:double; PM2:double; PM3:double):double;
function PM4_auger_cascade_kissel(Z:longint; E:double; PK:double; PL1:double; PL2:double; PL3:double; PM1:double; PM2:double; PM3:double):double;
function PM4_full_cascade_kissel(Z:longint; E:double; PK:double; PL1:double; PL2:double; PL3:double; PM1:double; PM2:double; PM3:double):double;
function PM5_pure_kissel(Z:longint; E:double; PM1:double; PM2:double; PM3:double; PM4:double):double;
function PM5_rad_cascade_kissel(Z:longint; E:double; PK:double; PL1:double; PL2:double; PL3:double; PM1:double; PM2:double; PM3:double; PM4:double):double;
function PM5_auger_cascade_kissel(Z:longint; E:double; PK:double; PL1:double; PL2:double; PL3:double; PM1:double; PM2:double; PM3:double; PM4:double):double;
function PM5_full_cascade_kissel(Z:longint; E:double; PK:double; PL1:double; PL2:double; PL3:double; PM1:double; PM2:double; PM3:double; PM4:double):double;
function CS_Total_CP(compound:string; E:double):double;
function CS_Photo_CP(compound:string; E:double):double;
function CS_Rayl_CP(compound:string; E:double):double;
function CS_Compt_CP(compound:string; E:double):double;
function CS_Energy_CP(compound:string; E:double):double;
function CSb_Total_CP(compound:string; E:double):double;
function CSb_Photo_CP(compound:string; E:double):double;
function CSb_Rayl_CP(compound:string; E:double):double;
function CSb_Compt_CP(compound:string; E:double):double;
function DCS_Rayl_CP(compound:string; E:double; theta:double):double;
function DCS_Compt_CP(compound:string; E:double; theta:double):double;
function DCSb_Rayl_CP(compound:string; E:double; theta:double):double;
function DCSb_Compt_CP(compound:string; E:double; theta:double):double;
function DCSP_Rayl_CP(compound:string; E:double; theta:double; phi:double):double;
function DCSP_Compt_CP(compound:string; E:double; theta:double; phi:double):double;
function DCSPb_Rayl_CP(compound:string; E:double; theta:double; phi:double):double;
function DCSPb_Compt_CP(compound:string; E:double; theta:double; phi:double):double;
function CS_Photo_Total_CP(compound:string; E:double):double;
function CS_Total_Kissel_CP(compound:string; E:double):double;
function CSb_Photo_Total_CP(compound:string; E:double):double;
function CSb_Total_Kissel_CP(compound:string; E:double):double;
function Refractive_Index_Re(compound:string; E:double; density:double):double;
function Refractive_Index_Im(compound:string; E:double; density:double):double;
