OpticsDescription

class ctapipe.instrument.optics.OpticsDescription(name, num_mirrors, equivalent_focal_length, mirror_area=None, num_mirror_tiles=None)[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
num_mirrors: int

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

equivalent_focal_length: Quantity(float)

effective focal-length of telescope, independent of which type of optics (as in the Monte-Carlo)

mirror_area: float

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

num_mirror_tiles: int

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

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).

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()