.. 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_piecewise_norm_spectral.py: .. _piecewise-norm-spectral: Piecewise Norm Spectral Model ============================================== This model parametrises a piecewise spectral correction with a free norm parameter at each fixed energy node. 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 ( Models, PiecewiseNormSpectralModel, PowerLawSpectralModel, SkyModel, ) energy_range = [0.1, 100] * u.TeV model = PiecewiseNormSpectralModel( energy=[0.1, 1, 3, 10, 30, 100] * u.TeV, norms=[1, 3, 8, 10, 8, 2], ) model.plot(energy_range, flux_unit="") plt.grid(which="both") .. image:: /modeling/gallery/spectral/images/sphx_glr_plot_piecewise_norm_spectral_001.png :alt: plot piecewise norm spectral :class: sphx-glr-single-img YAML representation ------------------- Here is an example YAML file using the model: .. code-block:: default model = model * PowerLawSpectralModel() model = SkyModel(spectral_model=model, name="piecewise-norm-model") models = Models([model]) print(models.to_yaml()) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none components: - name: piecewise-norm-model type: SkyModel spectral: type: CompoundSpectralModel model1: type: PiecewiseNormSpectralModel parameters: - name: norm_0 value: 1.0 - name: norm_1 value: 3.0 - name: norm_2 value: 8.0 - name: norm_3 value: 10.0 - name: norm_4 value: 8.0 - name: norm_5 value: 2.0 energy: data: - 0.1 - 1.0 - 3.0 - 10.0 - 30.0 - 100.0 unit: TeV model2: type: PowerLawSpectralModel parameters: - name: index value: 2.0 - name: amplitude value: 1.0e-12 unit: cm-2 s-1 TeV-1 - name: reference value: 1.0 unit: TeV frozen: true operator: mul .. _sphx_glr_download_modeling_gallery_spectral_plot_piecewise_norm_spectral.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_piecewise_norm_spectral.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_piecewise_norm_spectral.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_