Main Page | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

sfc.c File Reference

#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include "libcpixe.h"
#include "compilopt.h"

Go to the source code of this file.

Functions

int createSFCList (const EXP_PARAM *pexp, const int *PresentElems, const XrayYield *XYldArray, const AbsCoef *TotAbsCoefArray, int *nSFCList, SFCListElem **SFCList)
int needSFC (atomicnumber Za, atomicnumber Zb, const CalibYld *enerA, const AbsCoef *AbsC, int *nSFCList, SFCListElem **SFCList)
double sigmaphoto (int iabs, const AbsCoef *AbsC, atomicnumber Zb, double Xray)
int inrange (double value, double min, double max)


Detailed Description

sfc.c contains the portion of libcpixe related to secondary fluorescence corrections.

This is still (in v1.0) under development so nothing is really used yet.

Definition in file sfc.c.


Function Documentation

int createSFCList const EXP_PARAM pexp,
const int *  PresentElems,
const XrayYield XYldArray,
const AbsCoef TotAbsCoefArray,
int *  nSFCList,
SFCListElem **  SFCList
 

Definition at line 36 of file sfc.c.

References SIM_PARAM::MaxZinsample, needSFC(), and EXP_PARAM::simpar.

Referenced by cpixemain().

int inrange double  value,
double  min,
double  max
 

Checks if a value is within limits

Parameters:
value (I) Value to check
min (I) minimum limit
max (I) maximum limit
Returns:
1 if value is inside range, 0 otherwise

Definition at line 244 of file sfc.c.

Referenced by needSFC().

int needSFC atomicnumber  Za,
atomicnumber  Zb,
const CalibYld enerA,
const AbsCoef AbsC,
int *  nSFCList,
SFCListElem **  SFCList
 

<

<

Todo:
135=9x15 (absorption lines x emission_lines). If more lines or absorptions are added, this should be raised. Note that a conditional compilation for the case in which M absorption lines are not used, could reduce it to 4x15 or even to 4x12 if M emission lines are neither considered.

Only K and L absorption lines are considered (since M lines are hard to quantify anyway, we don't waste time). If SFC is desired for M lines too, change nabs to 9 here. Also, a conditional compilation could be implemented depending on a preproc variable called ,i.e., QUANTIFYMLINES

In case M emission lines should not be considered for SFC, this for loop can be eliminated by a conditional compilation

Definition at line 58 of file sfc.c.

References SFCListElem::abs, SFCListElem::Ea, AbsCoef::enr, SFCListElem::epri, SFCListElem::esec, inrange(), CalibYld::K_, CalibYld::L_, CalibYld::M_, sigmaphoto(), SFCListElem::sigmaphoto, SFCListElem::Za, and SFCListElem::Zb.

Referenced by createSFCList().

double sigmaphoto int  iabs,
const AbsCoef AbsC,
atomicnumber  Zb,
double  Xray
 

Definition at line 139 of file sfc.c.

References AbsCoef::coefenr, AbsCoef::enr, and TotAbsor_elemental().

Referenced by needSFC().


Generated on Fri Jul 15 20:43:50 2005 for LibCPIXE API by  doxygen 1.3.9.1