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:
objectObject 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
IACTIACT class, daughter of Telescope class.
GridElementGridElement class, daughter of Telescope class.
ObservatoryList 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.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.alt_az_to_theta_phiConvert 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.theta_phi_to_alt_azConvert 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_horConvert cartesian coordinates from FoV system to horizontal system.
Telescope.alt_az_to_theta_phiConvert 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_FoVConvert cartesian coordinates from horizontal system to FoV system.
Telescope.theta_phi_to_alt_azConvert 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