source
Source class for loading and analyzing time-energy spectra.
The sensipy API is organized into several key modules:
source
Source class for loading and analyzing time-energy spectra.
sensitivity
Sensitivity classes for calculating observatory sensitivity curves.
followup
Followup functions for fast exposure calculations using lookup tables.
ctaoirf
IRF and IRFHouse classes for managing instrument response functions.
detectability
Detectability analysis for visualizing and analyzing source detectability from lookup tables.
sensipy/├── source.py # Source class for spectral models├── sensitivity.py # Sensitivity calculations├── followup.py # Lookup table-based calculations├── detectability.py # Detectability analysis and visualization├── ctaoirf.py # IRF management└── util.py # Utility functions| Class | Module | Purpose |
|---|---|---|
Source | sensipy.source | Load and manipulate time-resolved spectra |
Sensitivity | sensipy.sensitivity | Calculate sensitivity curves using Gammapy |
LookupData | sensipy.detectability | Analyze and visualize detectability data |
IRFHouse | sensipy.ctaoirf | Manage and load IRF files |
IRF | sensipy.ctaoirf | Represent single IRF configuration |
| Function | Module | Purpose |
|---|---|---|
get_exposure() | sensipy.followup | Quick exposure calculation from lookup table |
get_sensitivity() | sensipy.followup | Create Sensitivity from lookup table |
extrapolate_obs_time() | sensipy.followup | Low-level interpolation function |
create_heatmap_grid() | sensipy.detectability | Create grid of detectability heatmaps |
sensipy uses astropy.units extensively. All physical quantities are typed as astropy.units.Quantity:
from astropy import units as u
# Energiesmin_energy: u.Quantity = 20 * u.GeVmax_energy: u.Quantity = 10 * u.TeV
# Timesdelay: u.Quantity = 30 * u.minobs_time: u.Quantity = 1000 * u.s
# Anglesradius: u.Quantity = 3.0 * u.degzenith: int =20 # degrees (plain int)# Main classesfrom sensipy.source import Sourcefrom sensipy.sensitivity import Sensitivityfrom sensipy.detectability import LookupDatafrom sensipy.ctaoirf import IRFHouse, IRF
# Followup functionsfrom sensipy import followup
# Or specific functionsfrom sensipy.followup import get_exposure, get_sensitivityfrom sensipy.detectability import create_heatmap_grid
# Unitsfrom astropy import units as uExplore the detailed API documentation for each module: