Telescope ray tracing with obdeect#
obdeect is an optical ray tracer for
imaging atmospheric Cherenkov telescopes. It is a backend for the
ray-tracing applications of simtools (PSF, effective mirror area, effective
focal length, incident angles) and for the calibration light of flashers and
illuminators. Select it with --ray_tracing_backend obdeect or set
SIMTOOLS_RAY_TRACING_BACKEND=obdeect; sim_telarray remains the default.
The ray-tracing applications describe what to trace (star position, source
distance, photons, seeds and parameter changes such as the single-mirror mode)
and hand it to the backend (simtools.ray_tracing.backends.interface); both backends
receive the same requests. obdeect runs inside the simtools process: it compiles
the model parameters of the telescope model, exactly as simtools reads them for
sim_telarray, into an optical model and traces star light to the camera
entrance; images stay in memory (--save_photons writes them as ECSV tables).
--instrument_seed fixes the mirror errors of the
--random_instrument_instances realisations and --simulation_seed the photons,
for either backend. obdeect results do not depend on the number of threads.
If the telescope model describes the telescope structure
(telescope_structure), obdeect traces its shadows and telescope_transmission
is not applied to the effective area. sim_telarray does not simulate the
structure.
Flashers and illuminators#
With --ray_tracing_backend obdeect, simtools-simulate-flasher --run_mode full_simulation and simtools-simulate-illuminator split the simulation into
stages: obdeect makes the light of the calibration device and traces it to the
camera entrance, simtools writes the photons as photon bunches
(simtel.photon_bunch_file), and sim_telarray simulates the camera and
electronics with its optics bypassed (Bypass_Optics=1 for single-mirror,
Bypass_Optics=2 for dual-mirror telescopes). This replaces the sim_telarray
LightEmission programs (ff-1m, xyzls) and sim_telarray’s optics.
The light source follows the calibration model as for LightEmission: angular distribution, pulse shape, wavelength and photon number per pulse; the number of photons reaching the telescope is Poisson distributed.
Flasher light goes straight from the flasher to the camera; the telescope structure, if described, shadows it.
Illuminator light crosses the atmosphere (the
atmospheric_transmissiontable of the site, along the real path) and the optics; telescope position, pointing and axes offsets are those of the sim_telarray backend.--instrument_seedand--simulation_seedseed obdeect emission and the sim_telarray camera simulation. The default LightEmission programs choose their own emission seeds.