PrimaryFlux#
- class gammapy.astro.darkmatter.PrimaryFlux[source]#
Bases:
TemplateNDSpectralModelDM-annihilation gamma-ray spectra.
Based on the precomputed models of PPPC4 DM ID by [1], [R21575ec8b6dd-2] and CosmiXs by [R21575ec8b6dd-3], [R21575ec8b6dd-4]. All available annihilation channels can be found there. The dark matter mass will be set to the nearest available value. The spectra will be available as
TemplateNDSpectralModelfor a chosen dark matter mass and annihilation channel. Using aTemplateNDSpectralModelallows the interpolation between different dark matter masses.- Parameters:
- mDM
Quantity Dark matter particle mass as rest mass energy.
- channelstr
Annihilation channel. List available channels with
allowed_channels.- sourcestr or Table, optional
Data source for the spectra. Options are:
"pppc4"(default): Cirelli et al. 2011."cosmixs": Cirelli et al. 2024.A path to a custom file: Any format readable by
astropy.table.Table.read
(e.g., .ecsv, .fits, .csv, .dat). * An Astropy Table that read the desired path
If a custom file path is provided, it must contain ‘mDM’ (mass of dark matter particle) and ‘Log[10,x]’ (energy) columns, plus columns named after the requested annihilation/decay channels (see the documentation).
- mapping_dictdict, optional
Mapping dictionary to map the columns of the custom source file to the expected column names. This is only needed if a file as a spectra source is provided and the column names in the file do not match the expected names. The dictionary should have the format {actual_column_name_in_file:expected_column_name}. An example of the expected columns can be found in the documentation.
- mDM
References
for dark matter indirect detection” <https://ui.adsabs.harvard.edu/abs/2011JCAP…03..051C>`_ .. [R21575ec8b6dd-2] Cirelli et al. (2016), “PPPC 4 DM ID: A Poor Particle Physicist Cookbook for Dark Matter Indirect Detection” .. [R21575ec8b6dd-3] Arina et al. (2024), “CosmiXs: Cosmic messenger spectra for indirect dark matter searches” .. [R21575ec8b6dd-4] `Di Mauro et al. (2025), “Nailing down the theoretical uncertainties of Dbar
spectrum produced from dark matter” <https://arxiv.org/abs/2411.04815>`_
Attributes Summary
List of allowed annihilation channels.
Annihilation channel as a string.
Dark matter mass.
Mapping dictionary for the spectra file.
Data source for the spectra.
Methods Summary
evaluate(energy, *args)Evaluate the primary flux.
Attributes Documentation
- allowed_channels#
List of allowed annihilation channels.
- channel#
Annihilation channel as a string.
- channel_registry = {'HZ': 'HZ', 'V->e': 'V->e', 'V->mu': 'V->\\[Mu]', 'V->tau': 'V->\\[Tau]', 'W': 'W', 'WL': 'WL', 'WT': 'WT', 'Z': 'Z', 'ZL': 'ZL', 'ZT': 'ZT', 'aZ': 'aZ', 'b': 'b', 'c': 'c', 'd': 'd', 'e': 'e', 'eL': 'eL', 'eR': 'eR', 'g': 'g', 'gamma': '\\[Gamma]', 'h': 'h', 'mu': '\\[Mu]', 'muL': '\\[Mu]L', 'muR': '\\[Mu]R', 'nu_e': '\\[Nu]e', 'nu_mu': '\\[Nu]\\[Mu]', 'nu_tau': '\\[Nu]\\[Tau]', 'q': 'q', 's': 's', 't': 't', 'tau': '\\[Tau]', 'tauL': '\\[Tau]L', 'tauR': '\\[Tau]R', 'u': 'u'}#
- default_parameters = <gammapy.modeling.parameter.Parameters object>#
- mDM#
Dark matter mass.
- mandatory_keys = ['mDM', 'Log[10,x]']#
- mapping_dict#
Mapping dictionary for the spectra file.
- mapping_dict_PPPC4_to_CosmiXs = {'DM': 'mDM', 'Log10[x]': 'Log[10,x]', 'dNdLog10x[HZ]': None, 'dNdLog10x[H]': 'h', 'dNdLog10x[WL]': 'WL', 'dNdLog10x[WT]': 'WT', 'dNdLog10x[W]': 'W', 'dNdLog10x[ZL]': 'ZL', 'dNdLog10x[ZT]': 'ZT', 'dNdLog10x[Z]': 'Z', 'dNdLog10x[aZ]': None, 'dNdLog10x[a]': '\\[Gamma]', 'dNdLog10x[b]': 'b', 'dNdLog10x[c]': 'c', 'dNdLog10x[d]': 'd', 'dNdLog10x[eL]': 'eL', 'dNdLog10x[eR]': 'eR', 'dNdLog10x[e]': 'e', 'dNdLog10x[g]': 'g', 'dNdLog10x[muL]': '\\[Mu]L', 'dNdLog10x[muR]': '\\[Mu]R', 'dNdLog10x[mu]': '\\[Mu]', 'dNdLog10x[nue]': '\\[Nu]e', 'dNdLog10x[numu]': '\\[Nu]\\[Mu]', 'dNdLog10x[nutau]': '\\[Nu]\\[Tau]', 'dNdLog10x[s]': 's', 'dNdLog10x[t]': 't', 'dNdLog10x[tauL]': '\\[Tau]L', 'dNdLog10x[tauR]': '\\[Tau]R', 'dNdLog10x[tau]': '\\[Tau]', 'dNdLog10x[u]': 'u'}#
- source#
Data source for the spectra.
- tag = ['PrimaryFlux', 'dm-pf']#
Methods Documentation
- classmethod __new__(*args, **kwargs)#