Signal
- class showermodel.signal.Signal(telescope, shower, projection=None, atm_trans=True, tel_eff=True, **kwargs)
Bases:
DataFrameDataFrame 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
- 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
- projection
Projection object.
- Type
- fluorescence
Fluorescence object.
- Type
- atmosphere
Atmosphere object.
- Type
- 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