Astrophysical source population models#

Introduction#

The gammapy.astro.population module provides a simple framework for population synthesis of gamma-ray sources, which is useful in the context of surveys and population studies.

Getting started#

The following example illustrates how to simulate a basic catalog including a spiral arm model.

import astropy.units as u
from gammapy.astro.population import make_base_catalog_galactic

max_age = 1E6 * u.yr
SN_rate = 3. / (100. * u.yr)
n_sources = int(max_age * SN_rate)
table = make_base_catalog_galactic(
    n_sources=n_sources,
    rad_dis='L06',
    vel_dis='F06B',
    max_age=max_age,
    spiralarms=True,
)

The total number of sources is determined assuming a maximum age and a supernova rate. The table returned is an instance of Table which can be used for further processing. The example population with spiral-arms is illustrated in the following plot.

(png, hires.png, pdf)

../../_images/plot_spiral_arms.png

Galactocentric spatial distributions#

Here is a comparison plot of all available radial distribution functions of the surface density of pulsars and related objects used in literature:

(png, hires.png, pdf)

../../_images/plot_radial_distributions.png

TODO: add illustration of Galactocentric z-distribution model and combined (r, z) distribution for the Besancon model.

Spiral arm models#

Two spiral arm models of the Milky way are available: ValleeSpiral and gammapy.astro.population.FaucherSpiral

(png, hires.png, pdf)

../../_images/plot_spiral_arm_models.png

Velocity distributions#

Here is a comparison plot of all available velocity distribution functions:

(png, hires.png, pdf)

../../_images/plot_velocity_distributions.png