Telescope

class showermodel.telescope.Telescope(x=0.0, y=0.0, z=0.0, theta=0.0, alt=None, az=0.0, tel_type=None, efficiency=None, apert=None, area=None, N_pix=None, int_time=None)

Bases: object

Object containing the characteristics of a Cherenkov/fluorescence telescope.

Parameters
  • tel_type (str) – Name given to the telescope. Default to None.

  • x (float) – East coordinate of the telescope in km.

  • y (float) – North coordinate of the telescope in km.

  • z (float) – Height of the telescope in km above ground level.

  • theta (float) – Zenith angle in degrees of the telescope pointing direction.

  • alt (float) – Altitude in degrees of the telescope pointing direction. If None, theta is used. If given, theta is overwritten.

  • az (float) – Azimuth angle (from north, clockwise) in degrees of the telescope pointing direction.

  • efficiency (DataFrame) – If None, the default efficiency of the selected tel_type. If given, the DataFrame should have two columns with wavelength in nm (with constant discretization step) and efficiency (decimal fraction).

  • apert (float) – Angular diameter in degrees of the telescope field of view.

  • area (float) – Detection area in m^2 (e.g., mirror area of an IACT).

  • N_pix (int) – Number of camera pixels.

  • int_time (float) – Integration time in microseconds of camera frames.

tel_type

Name given to the telescope. Default to None.

Type

str

apert

Angular diameter in degrees of the telescope field of view. Default to 10 degrees.

Type

float

area

Detection area in m^2 (e.g., mirror area of an IACT). Default to 100 m^2.

Type

float

N_pix

Number of camera pixels. Default to 1500.

Type

int

int_time

Integration time in microseconds of camera frames. Default to 0.01 us.

Type

float

sol_angle

Telescope field of view in steradians.

Type

float

sol_angle_pix

Pixel field of view in steradians.

Type

float

apert_pix

Angular diameter in degrees of the pixel FoV.

Type

float

wvl_ini

Initial wavelength in nm of the detection efficiency data. Default to 290 nm.

Type

float

wvl_fin

Final wavelength in nm of the detection efficiency data. Default to 430 nm.

Type

float

wvl_step

Step size in nm of the detection efficiency data. Default to 3 nm.

Type

float

wvl_fluo

Array containing the wavelengths of the 34 fluorescence bands included in the model. See Fluorescence class.

Type

ndarray

eff_fluo

Array containing the detection efficiency at these 34 wavelengths. Default to 1.

Type

ndarray

wvl_cher

Array containing the range of wavelengths in nm defined by wvl_ini, wvl_fin and wvl_step

Type

ndarray

eff_cher

Array containing the detection efficiency data in this range used to compute the Cherenkov signal. Default to 1.

Type

ndarray

x

East coordinate of the telescope in km.

Type

float

y

North coordinate of the telescope in km.

Type

float

z

Height of the telescope in km above ground level.

Type

float

theta

Zenith angle in degrees of the telescope pointing direction.

Type

float

alt

Altitude in degrees of the telescope pointing direction.

Type

float

az

Azimuth angle (from north, clockwise) in degrees of the telescope pointing direction.

Type

float

ux

x coordinate of a unit vector parallel to the telescope pointing direction.

Type

float

uy

y coordinate of a unit vector parallel to the telescope pointing direction.

Type

float

uz

z coordinate of a unit vector parallel to the telescope pointing direction.

Type

float

sin_theta

Sine of theta (cosine of alt).

Type

float

cos_theta

Cosine of theta (sine of alt).

Type

float

sin_az

Sine of az.

Type

float

cos_az

Cosine of az.

Type

float

phi_right

Position angle phi in degrees of the right-hand direction from the telescope point of view.

Type

float

copy()

Copy the Telescope object, but with optional changes.

hor_to_FoV()

Convert cartesian coordinates from horizontal system to FoV system.

FoV_to_hor()

Convert cartesian coordinates from FoV system to horizontal system.

thetaphi_to_altaz()

Convert FoV coordinates theta/phi to horizontal coordinates alt/az.

altaz_to_thetaphi()

Convert horizontal coordinates alt/az to FoV coordinates theta/phi.

spherical()

Calculate the spherical coordinates in both horizontal and FoV systems.

abs_to_rel()

Calculate the x, y, z coordinates relative to the telescope position from the ‘absolute’ x, y, z coordinates.

distance()

Calculate the distance in km between the point x, y, z (‘absolute’ coordinates) and the telescope position.

See also

IACT

IACT class, daughter of Telescope class.

GridElement

GridElement class, daughter of Telescope class.

Observatory

List of telescopes.

class showermodel.telescope.IACT(x=0.0, y=0.0, z=0.0, theta=0.0, alt=None, az=0.0, tel_type='IACT', efficiency=None, apert=None, area=None, N_pix=None, int_time=None)

Bases: Telescope

Daughter class of Telescope.

tel_type is set to ‘IACT’ and the following default values are used: apert = 8 deg, area = 113.097 m^2, N_pix = 1800, wvl_ini = 280 nm, wvl_fin = 600 nm, wvl_step = 3nm

The detection efficiency is taken similar to MST telescopes of CTA.

class showermodel.telescope.GridElement(x=0.0, y=0.0, z=0.0, theta=0.0, alt=None, az=0.0, tel_type='GridElement', efficiency=None, apert=None, area=None, N_pix=None, int_time=None)

Bases: Telescope

Daughter class of Telescope used to calculate ground distributions.

tel_type is set to ‘GridElement’ and the following default values are used: apert = 180 deg, N_pix = 1, int_time = 10 us. The detection efficiency is assumed to be 1.

See also

Grid

Make a rectangular grid of telescopes across the x and y directions.

Shower.show_distribution

Show the light distribution on ground.

Event.show_distribution

Show the light distribution on ground.

Methods:
Telescope.copy(**kwargs)

Copy a Telescope object, but with optional changes.

Parameters

**kwargs ({x, y, z, ...}) – Optional changes to the original telescope attributes, including class attributes.

Returns

telescope

Return type

Telescope

Telescope.hor_to_FoV(x_hor, y_hor, z_hor)

Convert cartesian coordinates from horizontal system to FoV system.

In the FoV coordinates system, x_FoV grows in the right-hand direction, y_FoV grows downward and z_FoV grows toward the pointing direction from the telescope point of view.

Parameters
  • x_hor (float or array_like) –

  • y_hor (float or array_like) –

  • z_hor (float or array_like) –

Returns

x_FoV, y_FoV, z_FoV

Return type

float or array_like

See also

Telescope.FoV_to_hor

Convert cartesian coordinates from FoV system to horizontal system.

Telescope.altaz_to_thetaphi

Convert horizontal coordinates alt, az to FoV coordinates theta, phi.

Telescope.FoV_to_hor(x_FoV, y_FoV, z_FoV)

Convert cartesian coordinates from FoV system to horizontal system.

In the FoV coordinates system, x_FoV grows in the right-hand direction, y_FoV grows downward and z_FoV grows toward the pointing direction from the telescope point of view.

Parameters
  • x_FoV (float or array_like) –

  • y_FoV (float or array_like) –

  • z_FoV (float or array_like) –

Returns

x_hor, y_hor, z_hor

Return type

float or array_like

See also

Telescope.hor_to_FoV

Convert cartesian coordinates from horizontal system to FoV system.

Telescope.thetaphi_to_altaz

Convert FoV coordinates theta, phi to horizontal coordinates alt, az.

Telescope.thetaphi_to_altaz(theta, phi)

Convert FoV coordinates theta, phi to horizontal coordinates alt, az.

Parameters
  • theta (float or array_like) –

  • phi (float or array_like) –

Returns

alt, az

Return type

float or array_like

See also

Telescope.FoV_to_hor

Convert cartesian coordinates from FoV system to horizontal system.

Telescope.altaz_to_thetaphi

Convert horizontal coordinates alt, az to FoV coordinates theta, phi.

Telescope.altaz_to_thetaphi(alt, az)

Convert polar horizontal coordinates alt, az to FoV coordinates theta, phi.

Parameters
  • alt (float or array_like) –

  • az (float or array_like) –

Returns

theta, phi

Return type

float or array_like

See also

Telescope.hor_to_FoV

Convert cartesian coordinates from horizontal system to FoV system.

Telescope.thetaphi_to_altaz

Convert FoV coordinates theta, phi to horizontal coordinates alt, az.

Telescope.spherical(x, y, z)

Calculate the spherical coordinates in both horizontal and FoV systems from the ‘absolute’ x, y, z coordinates.

Parameters
  • x (float or array_like) –

  • y (float or array_like) –

  • z (float or array_like) –

Returns

distance, alt, az, theta, phi

Return type

float or array_like

Telescope.abs_to_rel(x, y, z)

Calculate the x, y, z coordinates relative to the telescope position from the ‘absolute’ x, y, z coordinates.

Telescope.distance(x, y, z)

Calculate the distance in km between the point x, y, z (‘absolute’ coordinates) and the telescope position.

Parameters
  • x (float or array_like) –

  • y (float or array_like) –

  • z (float or array_like) –

Returns

distance

Return type

float or array_like