Signal

class showermodel.signal.Signal(telescope, shower, projection=None, atm_trans=True, tel_eff=True, **kwargs)

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) – Telescope object to be used.

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

  • projection (Projection) – If None, it will generated from telescope and shower.

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

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

  • **kwargs ({wvl_ini, wvl_fin, wvl_step}) – These parameters will modify the wavelenght interval when tel_eff==False. If None, the wavelength interval defined in the telescope is used.

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 photons as a function of slant depth.

show()

Show the signal evolution.

Image()

Generate a time-varying shower image.

Methods:
Signal.show_projection(shower_size=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_size (bool, default True) – Make the radii of the shower track points proportional to the shower size.

  • 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, default to X_max. If X_mark is set to None, no mark is included.

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=0.01, 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) – Number of camera pixels. If not given, the predefined value in the telescope that produces the signal.

  • int_time (float) – Integration time in microseconds of a camera frame.

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

Returns

image

Return type

Image