Guide to generate material property tables for XML files for DD4hep
.
- Build executables from source in
src/
by runningmake
. - Execute
bin/generate_material_tables
. This will produce XML nodes for each material and optical-surface property table, which can be copied into any relevant XML files. Plots of the property tables will also be produced, but note that step 3 will extend or override these plots; always refer to the plots from step 3 in place of those from step 2, since in some cases, the step 2 tables are out of date - Extrapolate tables to broader ranges using
scripts/extrapolate_material_tables.py
; these tables should be used in place of the ones from step 2
src/g4dRIChOptics.hh
: Common class hierarchy for dRICH material optical properties, originally from cisbani/dRIChtext/drich-materials.txt
: Geant4 text-file description of materials, needed along withsrc/g4dRIChOptics.hh
for the generation of property tablessrc/generate_material_tables.cpp
: Executable for generating the XML nodes and plotsscripts/extrapolate_material_tables.py
: Extrapolate material property tables beyondg4dRIChOptics
src/surfaceEnums.h
: helper methods for Geant4 surface properties
- using CLAS12 experimental points rescaled by Alessio/GEMC, in range 200 to 660 nm
- except for absorption length, where we use data from Aerogel Factory
- needed to do curve fits for extrapolation
- EXTRAPOLATION: refractive index
- fit to 2nd order Sellmeier function
- upper limit 660 nm extrapolated to 1000 nm
- EXTRAPOLATION: absorption length
- linear fit to 870 nm and above only
- upper limit extrapolated to 1000 nm
- EXTRAPOLATION: Rayleigh scattering length
- fit to
lambda^4
dependence - upper limit 660 nm extrapolated to 1000 nm
- fit to
- TODO
- using common
AirOptical
- no effect switching to
C2F6
(which disables it) - no extrapolation
- using (adjustable) cutoff of 300 nm
- no effect switching to
C2F6
(which disables it) - no extrapolation
- TODO
- currently 200-700nm, 10 points
- straightforward to adjust in Evaristo's code,
g4dRIChOptics.hh
- EXTRAPOLATION: refractive index
- extrapolated to 200-1000nm, 16 points
- done for both C2F6 and C4F10
- EXTRAPOLATION: absorption length
- is constant
- same range as refractive index
- done for both C2F6 and C4F10
- TODO: use Rayleigh scattering length?
- also is constant, but not used in
epic
- also is constant, but not used in
- TODO?
- same as filter material
- TODO: update to a more realistic material
- model exists from Evaristo's code, but we are not using this since reflectivity seems too low
- instead, using constant 0.9 reflectivity for all wavelengths: 1-7 eV = 177-1240nm
- no extrapolation, since wavelength range is large enough
- TODO: update to a more realistic model or measurement
- Material is currently
AirOptical
, to correctly model the gas/sensor optical boundary - TODO: do this more correctly
- table
EFFICIENCY
is set to constant 1 for all wavelengths 1-7 eV = 177-1240nm - actual quantum efficiency is applied downstream in reconstruction