Telescope

class showermodel.telescope.Telescope(x=0.0, y=0.0, z=0.0, theta=0.0, alt=None, az=0.0, tel_type='generic', **kwargs)

Bases: object

Object containing the characteristics of a Cherenkov/fluorescence telescope.

Parameters:
  • tel_type (str, default 'generic') – Type of telescope to be used.

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

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

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

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

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

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

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

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

  • N_pix (int, default 1500) – Number of camera pixels.

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

  • wvl (array_like, default None) – Wavelength interval in nm with constant discretization step. If None, it is calculated from wvl_ini, wvl_fin, wvl_step.

  • wvl_ini (float, default 290) – Initial wavelength in nm of the interval where the efficiency is non zero.

  • wvl_fin (float, default 430) – Final wavelength in nm of the interval where the efficiency is non zero.

  • wvl_step (float, default 3) – Discretization step in nm of the interval where the efficiency is non zero.

  • eff (float or array_like, default 1) – Detection efficiency in decimal fraction. If a float value is given, efficiency is assumed to be constant within the wavelength interval [wvl_ini, wvl_fin]. If a a list of efficiency values is given, it should match wvl.

  • eff_fluo (array_like or None, default None) – Detection efficiency at the 57 bands considered in the fluorescence model. If None, values are interpolated from eff.

tel_type

Name given to the telescope. Default to None.

Type:

str

apert

Angular diameter in degrees of the telescope field of view.

Type:

float

area

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

Type:

float

N_pix

Number of camera pixels. Default to 1500.

Type:

int

int_time

Integration time in microseconds of camera frames.

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.

Type:

float

wvl_fin

Final wavelength in nm of the detection efficiency data.

Type:

float

wvl_step

Step size in nm of the detection efficiency data.

Type:

float

wvl

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

Type:

ndarray

eff

Array containing the detection efficiency values.

Type:

ndarray

wvl_fluo

Array containing the wavelengths of fluorescence bands within the wavelength interval.

Type:

ndarray

eff_fluo

Array containing the detection efficiency values at the fluorescence bands within the wavelength interval.

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

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.

theta_phi_to_alt_az()

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

alt_az_to_theta_phi()

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.

Methods:
Telescope.copy(**kwargs)

Copy a Telescope object, but with optional changes.

Parameters:

**kwargs ({x, y, z, ...}) – Optional changes to the original telescope 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.alt_az_to_theta_phi

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

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

Telescope.theta_phi_to_alt_az(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.alt_az_to_theta_phi

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

Telescope.alt_az_to_theta_phi(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.theta_phi_to_alt_az

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