ctapipe is not stable yet, so expect large and rapid changes to structure and functionality as we explore various design choices before the 1.0 release.

OpticsDescription#

class ctapipe.instrument.optics.OpticsDescription(name, size_type, n_mirrors, equivalent_focal_length, effective_focal_length, mirror_area, n_mirror_tiles, reflector_shape)[source]#

Bases: object

Describes the optics of a Cherenkov Telescope mirror

The string representation of an OpticsDescription will be a combination of the telescope-type and sub-type as follows: “type-subtype”. You can also get each individually.

Parameters:
namestr

Name of this optical system

n_mirrorsint

Number of mirrors, i. e. 2 for Schwarzschild-Couder else 1

equivalent_focal_lengthastropy.units.Quantity[length]

Equivalent focal-length of telescope, independent of which type of optics (as in the Monte-Carlo). This is the nominal focal length for single mirror telescopes and the equivalent focal length for dual mirror telescopes.

effective_focal_lengthastropy.units.Quantity[length]

The effective_focal_length is the focal length estimated from ray tracing to correct for coma aberration. It is thus not automatically available for all simulations, but only if it was set beforehand in the simtel configuration. This is the focal length that should be used for transforming from camera frame to telescope frame for all reconstruction tasks to correct for the mean aberration.

mirror_areaastropy.units.Quantity[area]

total reflective surface area of the optical system (in m^2)

n_mirror_tilesint

number of mirror facets

Raises:
ValueError:

if tel_type or mirror_type are not one of the accepted values

TypeError, astropy.units.UnitsError:

if the units of one of the inputs are missing or incompatible

Attributes Summary

COMPATIBLE_VERSIONS

CURRENT_TAB_VERSION

effective_focal_length

equivalent_focal_length

mirror_area

n_mirror_tiles

n_mirrors

name

reflector_shape

size_type

Methods Summary

from_name(name[, optics_table])

Construct an OpticsDescription from the name.

get_known_optics_names([optics_table])

return the list of optics names from ctapipe resources, i.e. those that can be constructed by name (this does not return the list of known names from an already open Monte-Carlo file).

Attributes Documentation

COMPATIBLE_VERSIONS = {'4.0'}#
CURRENT_TAB_VERSION = '4.0'#
effective_focal_length#
equivalent_focal_length#
mirror_area#
n_mirror_tiles#
n_mirrors#
name#
reflector_shape#
size_type#

Methods Documentation

classmethod from_name(name, optics_table='optics')[source]#

Construct an OpticsDescription from the name.

This needs the optics table dataset to be accessible via ~ctapipe.utils.get_table_dataset.

Parameters:
name: str

string representation of optics (MST, LST, SST-1M, SST-ASTRI,…)

optics_table: str

base filename of optics table if not ‘optics.*’

Returns:
OpticsDescription
classmethod get_known_optics_names(optics_table='optics')[source]#

return the list of optics names from ctapipe resources, i.e. those that can be constructed by name (this does not return the list of known names from an already open Monte-Carlo file)

Parameters:
optics_table: str or astropy Table

table where to read the optics description from. If a string, this is opened with ctapipe.utils.get_table_dataset()