Is your feature request related to a problem? Please describe.
The current refractive-index lookup prioritizes Palik data whenever the requested energy is within the Palik table range. This makes it difficult to use the Henke tables for simulations above 30 eV, even though Henke data is well suited for this energy range.
We also want to compare our calculated refractive indices directly with the official Henke/CXRO database. Supporting this selection is also required to match the existing behavior of RAY-UI.
Users currently have no runtime option to select Henke data preferentially.
Describe the solution you'd like
Add an optional command-line switch:
rayx --henke-above-30ev simulation.rml
When enabled, the refractive-index lookup should use:
Energy < 30 eV: Palik → Cromer
Energy >= 30 eV: Henke → Cromer
Without the switch, the current default behavior should remain unchanged:
The option should be documented in the command-line help output.
Describe alternatives you've considered
- Replacing the Palik tables globally with Henke tables. This would remove useful Palik data below 30 eV.
- Changing the default priority permanently. This could alter existing simulation results and reduce reproducibility.
- Adding a material-specific configuration. This would be more flexible but also more complex than needed for the initial use case.
- Using an environment variable instead of a command-line option. A command-line switch is more explicit and easier to document in simulation workflows.
Additional context
The Henke tables are stored in Data/nff and are based on the data by Henke, Gullikson, and Davis. The official CXRO database provides a reference for directly validating the calculated refractive indices.Henke/CXRO database.
The requested behavior should be consistent with RAY-UI.
The option should apply consistently to both CPU and GPU tracing. Table lookups must not extrapolate outside the valid energy range of the selected table.
Is your feature request related to a problem? Please describe.
The current refractive-index lookup prioritizes Palik data whenever the requested energy is within the Palik table range. This makes it difficult to use the Henke tables for simulations above 30 eV, even though Henke data is well suited for this energy range.
We also want to compare our calculated refractive indices directly with the official Henke/CXRO database. Supporting this selection is also required to match the existing behavior of RAY-UI.
Users currently have no runtime option to select Henke data preferentially.
Describe the solution you'd like
Add an optional command-line switch:
When enabled, the refractive-index lookup should use:
Without the switch, the current default behavior should remain unchanged:
The option should be documented in the command-line help output.
Describe alternatives you've considered
Additional context
The Henke tables are stored in
Data/nffand are based on the data by Henke, Gullikson, and Davis. The official CXRO database provides a reference for directly validating the calculated refractive indices.Henke/CXRO database.The requested behavior should be consistent with RAY-UI.
The option should apply consistently to both CPU and GPU tracing. Table lookups must not extrapolate outside the valid energy range of the selected table.