def test_primary_flux(): with pytest.raises(ValueError): PrimaryFlux(channel="Spam", mDM=1 * u.TeV) primflux = PrimaryFlux(channel="W", mDM=1 * u.TeV) actual = primflux.table_model(500 * u.GeV) desired = 9.328234e-05 / u.GeV assert_quantity_allclose(actual, desired)
plt.legend() # In[ ]: # NOTE: https://arxiv.org/abs/1607.08142 quote 2.67e21 without the +/- 0.3 deg band around the plane total_jfact = pix_reg.to_mask().multiply(jfact).sum() print("J-factor in 1 deg circle around GC assuming a " "{} is {:.3g}".format(profile.__class__.__name__, total_jfact)) # ## Gamma-ray spectra at production # # The gamma-ray spectrum per annihilation is a further ingredient for a dark matter analysis. The following annihilation channels are supported. For more info see https://arxiv.org/pdf/1012.4515.pdf # In[ ]: fluxes = PrimaryFlux(mDM="1 TeV", channel="eL") print(fluxes.allowed_channels) # In[ ]: fig, axes = plt.subplots(4, 1, figsize=(6, 16)) mDMs = [0.01, 0.1, 1, 10] * u.TeV for mDM, ax in zip(mDMs, axes): fluxes.mDM = mDM ax.set_title(r"m$_{{\mathrm{{DM}}}}$ = {}".format(mDM)) ax.set_yscale("log") ax.set_ylabel("dN/dE") for channel in ["tau", "mu", "b", "Z"]: fluxes.channel = channel