Observatory

class showermodel.observatory.Observatory(*telescopes, obs_type=None)

Bases: list

List of telescopes.

The characterestics of the observatory are stored in attributes.

Note: Attributes inherited from Telescope (i.e., tel_type, tel_apert, tel_area and tel_N_pix) are not updated when telescopes are modified or appended.

Parameters
  • *telescopes (Telescope) – List of telescopes objects to be included.

  • obs_type (str) – Name given to the observatory. Default to None.

obs_type

Name given to the observatory. Default to None.

Type

str

N_tel

Number of telescopes.

Type

int

x_c

East coordinate in km of the center of the grid.

Type

float

y_c

North coordinate in km of the center of the grid.

Type

float

z_c

Height of the grid in km above ground level.

Type

float

size_x

Size of the observatory in km across the x direction.

Type

float

size_y

Size of the observatory in km across the y direction.

Type

float

N_x

Number of cells across the x direction (only Grid objects).

Type

int

N_y

Number of cells across the y direction (only Grid objects).

Type

int

cell_area

Area in m^2 of one cell (only Grid objects).

Type

float

tel_type

Name of the subclass of Telescope.

Type

str

tel_apert

Angular diameter in degrees of the telescope FoV.

Type

float

tel_area

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

Type

float

tel_N_pix

Number of camera pixels.

Type

int

show()

Show the telescope positions and indexes in a 2D plot.

class showermodel.observatory.Array25(telescope=None, x_c=0.0, y_c=0.0, z_c=0.0, theta=None, alt=None, az=None, R=0.341, rot_angle=0.0)

Bases: Observatory

Array of 25 telescopes similar to the layout of MST telescopes of CTA-South.

The pointing directions of all the telescopes are set equally, but they can be modified individually (along with other porperties) later on.

The telescope index is sorted first by radius and then by azimuth, so that tel_index=0 corresponds to the central telescope.

Parameters
  • telescope (Telescope) – If None, the default IACT object is used.

  • x_c (float) – East coordinate in km of the center of the array.

  • y_c (float) – North coordinate in km of the center of the array.

  • z_c (float) – Height of the array in km above ground level.

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

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

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

  • R (float) – Radius in km of the array.

  • rot_angle (float) – Rotation angle in degrees of the array (clockwise).

obs_type

Set to ‘Array25’.

Type

str

N_tel

Set to 25.

Type

int

x_c

East coordinate in km of the center of the array.

Type

float

y_c

North coordinate in km of the center of the array.

Type

float

z_c

Height of the array in km above ground level.

Type

float

theta

Zenith angle in degrees of the telescope pointing directions.

Type

float

alt

Altitude in degrees of the telescope pointing directions. If None, theta is used. If given, theta is overwritten.

Type

float

az

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

Type

float

R

Radius in km of the array.

Type

float

rot_angle

Rotation angle in degrees of the array (clockwise).

Type

float

class showermodel.observatory.Grid(telescope=None, x_c=0.0, y_c=0.0, z_c=0.0, theta=None, alt=None, az=None, size_x=2.0, size_y=2.0, N_x=10, N_y=10)

Bases: Observatory

Rectangular grid of telescopes across the x and y directions.

The pointing directions of all the telescopes are set equally, but they can be modified individually (along with other porperties) later on.

The telescope index is sorted first by y (from max to min) and then by x (from min to max), so that tel_index=0 corresponds to the telescope placed at the corner with minimum x and maximum y.

Parameters
  • telescope (Telescope) – If None, the default GridElement object is used.

  • x_c (float) – East coordinate in km of the center of the grid.

  • y_c (float) – North coordinate in km of the center of the grid.

  • z_c (float) – Height of the grid in km above ground level.

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

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

  • az (float) – Azimuth angle in degrees of the telescope pointing directions.

  • size_x (float) – Size of the grid in km across the x direction.

  • size_y (float) – Size of the grid in km across the y direction.

  • N_x (int) – Number of cells across the x direction.

  • N_y (int) – Number of cells across the y direction.

obs_type

Set to ‘Grid’.

Type

str

N_tel

Set to N_x*N_y.

Type

int

x_c

East coordinate in km of the center of the grid.

Type

float

y_c

North coordinate in km of the center of the grid.

Type

float

z_c

Height of the grid in km above ground level.

Type

float

theta

Zenith angle in degrees of the telescope pointing directions.

Type

float

alt

Altitude in degrees of the telescope pointing directions. If None, theta is used. If given, theta is overwritten.

Type

float

az

Azimuth angle in degrees of the telescope pointing directions.

Type

float

size_x

Size of the grid in km across the x direction.

Type

float

size_y

Size of the grid in km across the y direction.

Type

float

N_x

Number of cells across the x direction.

Type

int

N_y

Number of cells across the y direction.

Type

int

Methods:
Observatory.show()

Show the telescope positions and indexes of the observatory in a 2D plot.