Skip to content

Commit

Permalink
Adding tool to survey comps and "example coverage" for McXtrace
Browse files Browse the repository at this point in the history
  • Loading branch information
willend committed Jan 5, 2024
1 parent 21e084f commit 93fb172
Show file tree
Hide file tree
Showing 12 changed files with 1,295 additions and 0 deletions.
60 changes: 60 additions & 0 deletions mcxtrace-comps/astrox/astrox_examples.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
---------------------------------------
List of astrox comps and the
example instruments that include them
---------------------------------------
MM_c is used in 0 example(s):
---------------------------------------
MM_h is used in 3 example(s):
- ATHENA_1mm.instr
- ATHENA_cfgA_1mm.instr
- ATHENA_cfgA_1mm_FEMd.instr
---------------------------------------
MM_p is used in 3 example(s):
- ATHENA_1mm.instr
- ATHENA_cfgA_1mm.instr
- ATHENA_cfgA_1mm_FEMd.instr
---------------------------------------
Pore_c is used in 0 example(s):
---------------------------------------
Pore_h is used in 1 example(s):
- ATHENA_1pore.instr
---------------------------------------
Pore_p is used in 1 example(s):
- ATHENA_1pore.instr
---------------------------------------
Ring_c is used in 0 example(s):
---------------------------------------
Ring_h is used in 1 example(s):
- ATHENA_1ring.instr
---------------------------------------
Ring_p is used in 1 example(s):
- ATHENA_1ring.instr
---------------------------------------
Shell_c is used in 4 example(s):
- ATHENA_1sh_both.instr
- ATHENA_1sh_conical.instr
- NuSTAR_1shell_con.instr
- Test_shells.instr
---------------------------------------
Shell_h is used in 8 example(s):
- ATHENA_1sh_W1_OA.instr
- ATHENA_1sh_both.instr
- ATHENA_1shell.instr
- CXO.instr
- NuSTAR_1shell.instr
- NuSTAR_1shell_con.instr
- Simple_1shell.instr
- Test_shells.instr
---------------------------------------
Shell_p is used in 8 example(s):
- ATHENA_1sh_W1_OA.instr
- ATHENA_1sh_both.instr
- ATHENA_1shell.instr
- CXO.instr
- NuSTAR_1shell.instr
- NuSTAR_1shell_con.instr
- Simple_1shell.instr
- Test_shells.instr
---------------------------------------
Source_extended is used in 0 example(s):
---------------------------------------
50 changes: 50 additions & 0 deletions mcxtrace-comps/compmatrix.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
#!/usr/bin/env bash
#
# Shellscript to investigate use of comps in the example instrs.
# Usage: ./compmatrix.sh
# Outputs:
# comps_no_examples.txt
# (list of comps with 0 examples, disregarding sasmodels, obsolete)
# sources/sources_examples.txt
# (list of source comps with their examples)
# optics/optics_examples.txt
# (list of optics comps with their examples)
# etc...

COMPDIR=$PWD
echo --------------------------------------- > ${COMPDIR}/comps_no_examples.txt
echo Comps with no examples \(disregarding >> ${COMPDIR}/comps_no_examples.txt
echo sasmodels and obsolete categories\) >> ${COMPDIR}/comps_no_examples.txt
echo --------------------------------------- >> ${COMPDIR}/comps_no_examples.txt
for category in $(find . -name \*.comp | cut -d / -f2 | sort | uniq | grep -v parked)
do
echo Missing examples from ${category} >> ${COMPDIR}/comps_no_examples.txt
cd ${COMPDIR}/${category}
echo --------------------------------------- > ${category}_examples.txt
echo List of $category comps and the >> ${category}_examples.txt
echo example instruments that include them >> ${category}_examples.txt
echo --------------------------------------- >> ${category}_examples.txt
for comp in $(ls *.comp | sed s/.comp//g)
do
examples=$(grep -H ${comp} ${COMPDIR}/examples/*instr | cut -f1 -d: | sort | uniq | xargs -n1 basename)
num_examples=$(echo $examples | wc -w)
echo $comp is used in $num_examples example\(s\): >> ${category}_examples.txt
echo $examples | xargs -n1 echo - >> ${category}_examples.txt
echo --------------------------------------- >> ${category}_examples.txt
if [ $num_examples -lt 1 ]
then
if [ $category != "sasmodels" ]
then
if [ $category != "obsolete" ]
then
echo - $comp in $category is not in any example >> ${COMPDIR}/comps_no_examples.txt
fi
fi
fi
done
if [ $category == "sasmodels" ] || [ $category == "obsolete" ]
then
echo ... Not reporting comps in $category >> ${COMPDIR}/comps_no_examples.txt
fi
echo --------------------------------------- >> ${COMPDIR}/comps_no_examples.txt
done
49 changes: 49 additions & 0 deletions mcxtrace-comps/comps_no_examples.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---------------------------------------
Comps with no examples (disregarding
sasmodels and obsolete categories)
---------------------------------------
Missing examples from astrox
- MM_c in astrox is not in any example
- Pore_c in astrox is not in any example
- Ring_c in astrox is not in any example
- Source_extended in astrox is not in any example
---------------------------------------
Missing examples from contrib
- Attenuating_mask in contrib is not in any example
- Laue_crystal_BC in contrib is not in any example
- PSD_monitor_rad in contrib is not in any example
---------------------------------------
Missing examples from misc
- Shadow_input in misc is not in any example
- Shadow_output in misc is not in any example
- Shape in misc is not in any example
---------------------------------------
Missing examples from monitors
- DivE_monitor in monitors is not in any example
- DivPos_monitor in monitors is not in any example
- Flex_monitor_1D in monitors is not in any example
- Flex_monitor_2D in monitors is not in any example
- Flex_monitor_3D in monitors is not in any example
- PreMonitor_nD in monitors is not in any example
- TOF_monitor in monitors is not in any example
- W_psd_monitor in monitors is not in any example
---------------------------------------
Missing examples from obsolete
... Not reporting comps in obsolete
---------------------------------------
Missing examples from optics
- Lens_elliptical in optics is not in any example
- Slit_N in optics is not in any example
---------------------------------------
Missing examples from samples
---------------------------------------
Missing examples from sasmodels
... Not reporting comps in sasmodels
---------------------------------------
Missing examples from sources
- Source_genesis13 in sources is not in any example
- Source_simplex in sources is not in any example
---------------------------------------
Missing examples from union
- Incoherent_process in union is not in any example
---------------------------------------
73 changes: 73 additions & 0 deletions mcxtrace-comps/contrib/contrib_examples.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---------------------------------------
List of contrib comps and the
example instruments that include them
---------------------------------------
Attenuating_mask is used in 0 example(s):
---------------------------------------
Bragg_crystal_BC is used in 3 example(s):
- DBD_IBM_Si_analyzer_BC.instr
- PBD_BT.instr
- Test_Mono.instr
---------------------------------------
Bragg_crystal_bent_BC is used in 3 example(s):
- DBD_IBM_Si_analyzer_BC.instr
- Template_Johann_spec.instr
- Test_Mono.instr
---------------------------------------
Bragg_crystal_simple is used in 1 example(s):
- Test_Mono.instr
---------------------------------------
Detector_pn is used in 2 example(s):
- NBI_Lab_TOMO.instr
- Test_Detector_pn.instr
---------------------------------------
Laue_crystal_BC is used in 0 example(s):
---------------------------------------
Mirror_toroid_pothole is used in 3 example(s):
- SOLEIL_DISCO.instr
- SOLEIL_ROCK.instr
- Test_Mirrors.instr
---------------------------------------
PSD_monitor_rad is used in 0 example(s):
---------------------------------------
SAXSCurve is used in 1 example(s):
- Test_SAXS.instr
---------------------------------------
SAXSCylinders is used in 1 example(s):
- Test_SAXS.instr
---------------------------------------
SAXSEllipticCylinders is used in 1 example(s):
- Test_SAXS.instr
---------------------------------------
SAXSLiposomes is used in 1 example(s):
- Test_SAXS.instr
---------------------------------------
SAXSNanodiscs is used in 1 example(s):
- Test_SAXS.instr
---------------------------------------
SAXSNanodiscsFast is used in 1 example(s):
- Test_SAXS.instr
---------------------------------------
SAXSNanodiscsWithTags is used in 1 example(s):
- Test_SAXS.instr
---------------------------------------
SAXSNanodiscsWithTagsFast is used in 1 example(s):
- Test_SAXS.instr
---------------------------------------
SAXSPDB is used in 1 example(s):
- Test_SAXS.instr
---------------------------------------
SAXSPDBFast is used in 1 example(s):
- Test_SAXS.instr
---------------------------------------
SAXSQMonitor is used in 2 example(s):
- ESRF_BM29.instr
- Test_SAXS.instr
---------------------------------------
SAXSShells is used in 1 example(s):
- Test_SAXS.instr
---------------------------------------
SAXSSpheres is used in 2 example(s):
- ESRF_BM29.instr
- Test_SAXS.instr
---------------------------------------
116 changes: 116 additions & 0 deletions mcxtrace-comps/misc/misc_examples.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
---------------------------------------
List of misc comps and the
example instruments that include them
---------------------------------------
Air is used in 4 example(s):
- Airport_scannerII.instr
- NBI_Lab_TOMO.instr
- Test_Air.instr
- Test_Filter.instr
---------------------------------------
Focus is used in 4 example(s):
- JJ_SAXS.instr
- MAXIV_DanMAX_pxrd1d.instr
- MAXIV_DanMAX_pxrd2d.instr
- SOLEIL_DIFFABS.instr
---------------------------------------
MCPL_input is used in 1 example(s):
- Test_MCPL_input.instr
---------------------------------------
MCPL_output is used in 1 example(s):
- Test_MCPL_output.instr
---------------------------------------
Progress_bar is used in 86 example(s):
- ATHENA_1mm.instr
- ATHENA_1pore.instr
- ATHENA_1ring.instr
- ATHENA_1sh_W1_OA.instr
- ATHENA_1sh_both.instr
- ATHENA_1sh_conical.instr
- ATHENA_1shell.instr
- ATHENA_cfgA_1mm.instr
- ATHENA_cfgA_1mm_FEMd.instr
- Airport_scannerII.instr
- Be_BM_beamline.instr
- CXO.instr
- Czerny_Turner.instr
- DBD_IBM_Si_analyzer_BC.instr
- ESRF_BM29.instr
- ESRF_ID01.instr
- ESRF_ID11.instr
- Focal_pt_monitor.instr
- JJ_SAXS.instr
- MAXII_711.instr
- MAXII_811.instr
- MAXIV_Bloch.instr
- MAXIV_DanMAX_pxrd1d.instr
- MAXIV_DanMAX_pxrd2d.instr
- MAXIV_FemtoMAX.instr
- NBI_Lab_TOMO.instr
- NSLS2_CHX.instr
- NuSTAR_1shell.instr
- NuSTAR_1shell_con.instr
- PBD_BT.instr
- Pump_probe.instr
- Pump_probe_solvent.instr
- SAXS_saxlab.instr
- SOLEIL_ANATOMIX.instr
- SOLEIL_CASSIOPEE.instr
- SOLEIL_DIFFABS.instr
- SOLEIL_DISCO.instr
- SOLEIL_LUCIA.instr
- SOLEIL_MARS.instr
- SOLEIL_PSICHE.instr
- SOLEIL_PX2a.instr
- SOLEIL_ROCK.instr
- SOLEIL_SIXS.instr
- SSRL_bl_11_2_not_white_src.instr
- SSRL_bl_11_2_white_src.instr
- Simple_1shell.instr
- Template_1Slit_Diff.instr
- Template_2Slit_Diff.instr
- Template_DCM.instr
- Template_Johann_spec.instr
- Template_SasView.instr
- Test_Absorption.instr
- Test_Air.instr
- Test_BM.instr
- Test_CRL.instr
- Test_CRL_Be.instr
- Test_Detector_pn.instr
- Test_Filter.instr
- Test_Fluorescence.instr
- Test_GROUP.instr
- Test_KB.instr
- Test_MCPL_input.instr
- Test_MCPL_output.instr
- Test_ML_elliptic.instr
- Test_Mask.instr
- Test_Mirror_toroid.instr
- Test_Mirrors.instr
- Test_Mono.instr
- Test_PowderN.instr
- Test_SAXS.instr
- Test_Saxs_spheres.instr
- Test_Source_quasi.instr
- Test_Sources.instr
- Test_Sqw.instr
- Test_capillary.instr
- Test_grating_reflect.instr
- Test_grating_trans.instr
- Test_mirror_elliptic.instr
- Test_mirror_parabolic.instr
- Test_monitors.instr
- Test_shells.instr
- Test_source_lab.instr
- Test_source_spectra.instr
- Test_undulator.instr
- XFEL_SPB.instr
- template_simple.instr
---------------------------------------
Shadow_input is used in 0 example(s):
---------------------------------------
Shadow_output is used in 0 example(s):
---------------------------------------
Shape is used in 0 example(s):
---------------------------------------
Loading

0 comments on commit 93fb172

Please sign in to comment.