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:
objectObject 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
IACTIACT class, daughter of Telescope class.
GridElementGridElement class, daughter of Telescope class.
ObservatoryList 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:
TelescopeDaughter 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:
TelescopeDaughter 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
GridMake a rectangular grid of telescopes across the x and y directions.
Shower.show_distributionShow the light distribution on ground.
Event.show_distributionShow 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.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_horConvert cartesian coordinates from FoV system to horizontal system.
Telescope.altaz_to_thetaphiConvert 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_FoVConvert cartesian coordinates from horizontal system to FoV system.
Telescope.thetaphi_to_altazConvert 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_horConvert cartesian coordinates from FoV system to horizontal system.
Telescope.altaz_to_thetaphiConvert 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_FoVConvert cartesian coordinates from horizontal system to FoV system.
Telescope.thetaphi_to_altazConvert 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