Signal

class showermodel.signal.Signal(telescope, shower, projection=None, atm_trans=True, tel_eff=True, wvl_ini=290.0, wvl_fin=430.0, wvl_step=3.0)

Bases: DataFrame

DataFrame containing the signal produced by a shower.

Both Cherenkov light and fluorescence light are transported to the telescope and the number of photoelectrons (of each light component) is evaluated from the detection efficiency of the telescope. The atmosphere, shower, telescope, etc. are stored as object attributes.

Parameters:
  • telescope (Telescope, mandatory) – Telescope object to be used.

  • shower (Shower, mandatory) – Shower object to be used.

  • atm_trans (bool, default True) – Include the atmospheric transmission to transport photons.

  • tel_eff (bool, default True) – Include the telescope efficiency to calculate the signals. If False, 100% efficiency is assumed for a given wavelength interval.

  • wvl_ini (float, default 290) – Initial wavelength in nm of the interval to calculate the signal when tel_eff==False.

  • wvl_fin (float, default 430) – Final wavelength in nm of the interval to calculate the signal when tel_eff==False.

  • wvl_step (float, default 3) – Discretization step in nm of the interval to calculate the signal when tel_eff==False.

Npe_cher

Column 0, number of photoelectrons per discretization step due to Cherenkov light.

Type:

float

Npe_fluo

Column 1, number of photoelectrons per discretization step due to fluorescence light.

Type:

float

Npe_total

Column 2, total number of photoelectrons per discretization step.

Type:

float

telescope

Telescope object.

Type:

Telescope

atm_trans

True if the atmospheric transmission is included.

Type:

bool

tel_eff

True if the telescope efficiency is included.

Type:

bool

wvl_ini

Initial wavelength in nm of the interval.

Type:

float

wvl_fin

Final wavelength in nm of the interval.

Type:

float

wvl_step

Step size in nm of the interval.

Type:

float

Npe_cher_sum

Sum of photoelectrons due to Cherenkov light.

Type:

float

Npe_fluo_sum

Sum of photoelectrons due to fluorescence light.

Type:

float

Npe_total_sum

Sum of photoelectrons due to both light components.

Type:

float

shower

Shower object.

Type:

Shower

projection

Projection object.

Type:

Projection

fluorescence

Fluorescence object.

Type:

Fluorescence

cherenkov

Cherenkov object.

Type:

Cherenkov

profile

Profile object.

Type:

Profile

track

Track object.

Type:

Track

atmosphere

Atmosphere object.

Type:

Atmosphere

show_projection()

Show the projection of the shower track viewed by the telescope.

show_profile()

Show the shower profile as a function of slant depth.

show_light_production()

Show the production of photons as a function of slant depth.

show()

Show the signal evolution.

Image()

Generate a time-varying shower image.

Methods:
Signal.show_projection(shower_Edep=True, axes=True, max_theta=30.0, X_mark='X_max')

Show the projection of the shower track viewed by the telescope in both horizontal and FoV coordinates systems.

Parameters:
  • shower_Edep (bool, default True) – Make the radii of the shower track points proportional to the energy deposited in each step length.

  • axes (bool, default True) – Show the axes of both frames of reference.

  • max_theta (float, default 30 degrees) – Maximum offset angle in degrees relative to the telescope pointing direction.

  • X_mark (float) – Reference slant depth in g/cm^2 of the shower track to be marked in the figure. If set to None, no mark is included. By default, the mark is placed at X_max.

Signal.show_profile()

Show the shower profile, both number of charged particles and energy deposit, as a function of slant depth.

Returns:

(ax1, ax2)

Return type:

AxesSubplot

Signal.show_light_production()

Show the production of both Cherenkov and fluorescence photons in the 290 - 430 nm range as a function of slant depth.

Returns:

(ax1, ax2)

Return type:

AxesSubplot

Signal.show()

Show the signal evolution as a function of both time and beta angle (relative to the shower axis direction).

The two contributions from Cherenkov and fluorescence light are shown.

The time scale (us or ns) is adapted depending on the signal pulse duration.

Returns:

(ax1, ax2)

Return type:

AxesSubplot

Signal.Image(N_pix=None, int_time=None, NSB=40.0)

Generate a time-varying shower image in a circular camera with square pixels of same solid angle. A Nishimura-Kamata-Greisen lateral profile is used to spread the signal contribution from each shower point to several pixels.

Parameters:
  • lat_profile (bool, default True) – Use a NKG lateral profile to spread the signal. If False, a linear shower is assumed.

  • N_pix (int, default None) – Number of camera pixels. If not given, the value defined in the Telescope object is used.

  • int_time (float, default None) – Integration time in microseconds of a camera frame. If not given, the value defined in the Telescope object is used.

  • NSB (float, default 40) – Night sky background in MHz/m^2/deg^2 (photoelectrons).

Returns:

image

Return type:

Image