Add a ray-tracing backend#
Ray-tracing backends implement the RayTracingBackend contract in
simtools.ray_tracing.backends.interface. A backend traces the requests made by
ray-tracing applications and returns image and incidence-angle results. A
backend that traces calibration light sources also implements
LightSourceRayTracingBackend and provides camera_photons.
Implementation checklist#
Add a backend module under
simtools.ray_tracing.backends.Implement
simulate,psf_image, andincidence_angleswith the parameter signatures inRayTracingBackend.For calibration light tracing, implement
camera_photonswith the signature inLightSourceRayTracingBackendand settraces_light_sourcestoTrue.Add the backend name and its
module:classpath toRAY_TRACING_BACKEND_CLASSESinsimtools.constants. Imports are lazy, so optional dependencies are needed only when the selected backend is loaded.Add a contract test that checks the backend methods and their signatures.