Todo List

Class absorber
document the members of this structure

Class ESxType
document this structure

Global EXP_PARAM::ion
For the moment only H ions are supported.

Global FILTER::Calibflt
(not supported yet)

Class SecResType
document this structure

Global SFCListElem::sigmaphoto
units?)

Class SRType
document this structure

Class XrayYield
document this structure

Global cpixecalib
This indicates that the filter is not going to be varied (Provisional)

the detector efficiency can be fitted VS energy. The fit can be interpolated and converted back to calib yields for the elements/lines for which no experimental info was available (i.e. construct the calib file)

Global cpixecalib
This indicates that the filter is not going to be varied (Provisional)

Global cpixecalib
Divide the calib yields by Xprod(Ecal) to obtain detector efficiency at the given emission energy. Tabulate [emission_energy,efficiency] --->Output

Global cpixecalib
IMPORTANT: tempCYld is being calculated wrong: it should be the inverse! (OR NOT???)

Global cpixemain
This indicates that the filter is not going to be varied (Provisional)

Global cpixemain
maybe we want to re-implement support for the DEPRECATED DATTPIXE calibration method later?

Global translatesample
IMPORTANT!! Some changes in the definitions of structures may affect the interface with NDF. The following is a list of things that I have changed in libcpixe that may have to be teaken care of in the fortran code:

Added "SAngFract" to the EXP_PARAM structure (and needed for deNormalize2() )

Added "Fluence" to the EXP_PARAM structure (and needed for deNormalize2() )

Global CreateEff
Check the reason for the buggy behaviour of this function when using factor <1 (e.g. 1e-5)

Global createSPTs
readstopcoef assumes that the files SCOEF.95A and SCOEF.95B are located where the program is called. This must be generalized (In fact, the coefficients could be hardcoded using an include file)

Global createsublyrs
Discuss this initialization with M.R.

Global deNormalize
This function does not support M-lines

Note: This function is only valid for 10 Z2 in range [10,99]

Global deNormalize
Note that (due to a situation inherited from DATTPIXE) the calibration Yields in the calib file are relative to the solid angle of the detector and that a DETCOLFAC (detector colimator factor) variable is used to scale the solid angle.This situation should be changed. I also propose a calibration file based on detector's efficiency rather than "CalibYIelds"

Global deNormalize
do this part when the filters are supported

Global deNormalize
Check hardcoded Z limits

Global deNormalize
Support also M lines here

Global deNormalize2
Test the M lines

Global initlyr
plyr->NeedSFC is just a convenience pointer to the Sample-general NeedSFC. This should be changed and not used, but for the moment it works.

Global initlyr
TODO:Check why was the following line commented out (in the DATTPIXE Pascal Code).

Global integrate_Simpson
document this function

Global integrate_Simpson2
document this function

Global PaulX
Document this function (description, units for ener & return and references)

Global PaulX
This function only works for proton beams!!

Global PaulX_lp
Document this function (description, units for ener & return and references)

Global PaulX_y
Document this function (description, units for ener & return and references)

Global PaulX_y
This function only works for proton beams!!

Global PenInteg
IMPORTANT: check here the use of cosInc in relation with the definition of x0

Global readAbsCoef
Note that enr indexing starts in 1 while the stdcoeffs & coefenr start in 0. A conversion from 1-->0 could be done with little work.

Global readAbsCoef_OLD
Note that enr indexing starts in 1 while the stdcoeffs & coefenr start in 0. A conversion from 1-->0 could be done with little work.

Global readEff2
Change this function to use a TwoCol structure instead of tempEnerArray & tempEffArray. Then use qsort() on it to guarantee a sorted table (allowing the user to enter nubers unsorted

Global readFCK
Modify to read only the present elems.

Global readFCK
Substitute the "..." by explicit labels

Global readFilter
For the moment, the geometric correction is just initialized to 1

Global readINPUT
finish implementation of calibration routines for efficiencies

finish implementation of secondary fluorescence

implement forward geometry

Global readINPUT
For the moment, only H ions are supported

Global readINPUT
: SXF not supported yet

Global readINPUT
: Xeq calculation not

Global ReisX
(cite M.Reis paper named ???)

Global ReisX
This function is only for proton beams!!

Global ReisX
What is Hr ???

Global ReisX
What is cau ???

Global ReisX
What is a02 ???

Global ReisX_En
check that the units of the hardcoded constants are appropriate

Global ReisX_En
document this function

Global ReisX_g
check that the units of the hardcoded constants are appropriate

Global ReisX_g
document this function

Global ReisX_gs
check that the units of the hardcoded constants are appropriate

Global ReisX_gs
document this function

Global ReisX_hs
check that the units of the hardcoded constants are appropriate

Global ReisX_hs
document this function

Global ReisX_polisec
check that the units of the hardcoded constants are appropriate

Global ReisX_polisec
document this function

Global Simps
IMPORTANT: Why the 6 and the 4??????? Has something to do with exponential function integration? If not, it should be rather: return( (b-a)/4 * (fa+2*fi+fb) ) UPDATE: This has to do with the line in SSthick where "thick" is calculated.

Global Simps
document this function

Global SSThick
: check if the thressholds of these conditions are reasonable or should be more conservative.

Global SSThick
The reallocation of ESxArray could be done inteligently in increments larger than 2, thus sacrificing some memory to speed up the process. Some extra variable would also be needed to remember the actual dimension of the matrix and comparing it with pFpos.

Global TotAbsor
This function returns 0 if the Xray energy is not in the range covered by stdener. Maybe an error (and exit) should be triggered instead. Moreover: Is this absolutely general? I think this limits the generality of the program since elements below Na cannot be treated (and this is not desirable from a generalistic point of view). Therefore, these limits should be coded as variables just as minK, maxK,... UPDATE 1: The limits can be expanded, but the X-absorption data table should be altered accordingly (and dimstdener too). UPDATE 2: Better to show a warning than to exit in case that the limits are violated (TODO).

Global TotAbsor_elemental
This function returns 0 if the Xray energy is not in the 1-30 range. Maybe an error (and exit) should be triggered instead. Moreover: Is this absolutely general? I think this limits the generality of the program since elements below Na cannot be treated (and this is not desirable from a generalistic point of view). Therefore, these limits should be coded as variables just as minK, maxK,... UPDATE 1: The limits can be expanded, but the X-absorption data table should be altered accordingly. UPDATE 2: Better to show a warning than to exit in case that the limits are violated (TODO).

Global Xprod
This function only works for proton beams!!

Global Xprod
Check hardcoded Z limits

Global LONGSTRINGLENGTH
Modify fscanf functions to check for length when reading filenames of fixed maximum length

Global maxK
These values should be read instead of hardcoded. Maybe in SIMPARAM?

Global needSFC
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.

Generated on Sat Dec 8 23:11:38 2007 for libCPIXE by  doxygen 1.5.4