iactrace

Top-level package providing convenient access to the most commonly used classes and functions.

All items listed here are re-exported from their respective submodules for convenience. See the linked module documentation for full details.

Quick Reference

Core Classes

Telescope

Optical system: mirrors, lenses, obstructions, camera frame

Camera

Detection system: sensor groups, concentrator, photodetector

RayBundle

Ray positions/directions/values exchanged between the two

LazyRayBundle

Deferred render returned by Telescope.render(), folded by the camera

Sensor Classes

SquareSensorGroup

Rectangular pixel grid sensor

HexagonalSensorGroup

Hexagonally-packed pixel sensor

Photodetectors / Concentrators

ConstantQE

Flat scalar quantum efficiency (the default detector)

PMT

Photomultiplier: sensor surface, QE, optional Fresnel window

WinstonCone

Winston light concentrator (per pixel)

OkumuraCone

Okumura-style light concentrator (per pixel)

I/O Functions

Telescope.from_yaml

Load a telescope from a standalone telescope YAML file

Camera.from_yaml

Load a camera from a standalone camera YAML file

save_telescope()

Save a telescope to a standalone YAML file

save_camera()

Save a camera to a standalone YAML file

Visualization Functions

show_image()

Display a sensor image (hexagonal or square pixel layout)

Analysis Tools

Available under iactrace.analysis:

FlatFocalPlane

Flat focal plane for spot-diagram analysis

AsphericFocalSurface

Curved aspheric focal surface for spot-diagram analysis

FocalSurfaceHits

Per-ray intersection results returned by FocalSurface.intersect()