.. only:: html .. note:: :class: sphx-glr-download-link-note Click :ref:`here ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_modeling_gallery_spectral_plot_absorbed.py: .. _absorbed-spectral-model: Absorbed Spectral Model ======================= This model evaluates absorbed spectral model. The spectral model is evaluated, and then multiplied with an EBL absorption factor given by .. math:: \exp{ \left ( -\alpha \times \tau(E, z) \right )} where :math:`\tau(E, z)` is the optical depth predicted by the model (`~gammapy.modeling.models.Absorption`), which depends on the energy of the gamma-rays and the redshift z of the source, and :math:`\alpha` is a scale factor (default: 1) for the optical depth. Example plot ------------ Here is an example plot of the model: .. code-block:: default from astropy import units as u import matplotlib.pyplot as plt from gammapy.modeling.models import ( AbsorbedSpectralModel, Absorption, Models, PowerLawSpectralModel, SkyModel, ) redshift = 0.117 absorption = Absorption.read_builtin("dominguez") # Spectral model corresponding to PKS 2155-304 (quiescent state) index = 3.53 amplitude = 1.81 * 1e-12 * u.Unit("cm-2 s-1 TeV-1") reference = 1 * u.TeV pwl = PowerLawSpectralModel(index=index, amplitude=amplitude, reference=reference) # EBL + PWL model model = AbsorbedSpectralModel( spectral_model=pwl, absorption=absorption, redshift=redshift ) energy_range = [0.1, 100] * u.TeV model.plot(energy_range) plt.grid(which="both") plt.ylim(1e-24, 1e-8) .. image:: /modeling/gallery/spectral/images/sphx_glr_plot_absorbed_001.png :class: sphx-glr-single-img YAML representation ------------------- Here is an example YAML file using the model: .. code-block:: default model = SkyModel(spectral_model=model, name="absorbed-model") models = Models([model]) print(models.to_yaml()) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none components: - name: absorbed-model type: SkyModel spectral: type: AbsorbedSpectralModel base_model: type: PowerLawSpectralModel parameters: - {name: index, value: 3.53, unit: '', min: .nan, max: .nan, frozen: false, error: 0} - {name: amplitude, value: 1.81e-12, unit: cm-2 s-1 TeV-1, min: .nan, max: .nan, frozen: false, error: 0} - {name: reference, value: 1.0, unit: TeV, min: .nan, max: .nan, frozen: true, error: 0} absorption: type: Absorption filename: !!python/object/apply:pathlib.PosixPath [/, Users, terrier, Code, gammapy-dev, gammapy-datasets, ebl, ebl_dominguez11.fits.gz] absorption_parameter: {name: redshift, value: 0.117} parameters: - {name: redshift, value: 0.117, unit: '', min: 0.009999999776482582, max: 3.990000009536743, frozen: true, error: 0} - {name: alpha_norm, value: 1.0, unit: '', min: .nan, max: .nan, frozen: true, error: 0} .. _sphx_glr_download_modeling_gallery_spectral_plot_absorbed.py: .. only :: html .. container:: sphx-glr-footer :class: sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_absorbed.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_absorbed.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_