Skip to content

API Reference

The sensipy API is organized into several key modules:

source

Source class for loading and analyzing time-energy spectra.

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
ClassModulePurpose
Sourcesensipy.sourceLoad and manipulate time-resolved spectra
Sensitivitysensipy.sensitivityCalculate sensitivity curves using Gammapy
LookupDatasensipy.detectabilityAnalyze and visualize detectability data
IRFHousesensipy.ctaoirfManage and load IRF files
IRFsensipy.ctaoirfRepresent single IRF configuration
FunctionModulePurpose
get_exposure()sensipy.followupQuick exposure calculation from lookup table
get_sensitivity()sensipy.followupCreate Sensitivity from lookup table
extrapolate_obs_time()sensipy.followupLow-level interpolation function
create_heatmap_grid()sensipy.detectabilityCreate grid of detectability heatmaps

sensipy uses astropy.units extensively. All physical quantities are typed as astropy.units.Quantity:

from astropy import units as u
# Energies
min_energy: u.Quantity = 20 * u.GeV
max_energy: u.Quantity = 10 * u.TeV
# Times
delay: u.Quantity = 30 * u.min
obs_time: u.Quantity = 1000 * u.s
# Angles
radius: u.Quantity = 3.0 * u.deg
zenith: int =20 # degrees (plain int)
# Main classes
from sensipy.source import Source
from sensipy.sensitivity import Sensitivity
from sensipy.detectability import LookupData
from sensipy.ctaoirf import IRFHouse, IRF
# Followup functions
from sensipy import followup
# Or specific functions
from sensipy.followup import get_exposure, get_sensitivity
from sensipy.detectability import create_heatmap_grid
# Units
from astropy import units as u

Explore the detailed API documentation for each module: