This PR introduces the per_particle flag to an EmissionModel.
Models that are per particle will now generate per particle emissions and then integrate them for all operations (e.g. extraction, combination, generation and attenuation).
EmissionModel._get_spectra and the lines equivalent now carry a dictionary for integrated and per particle spectra to make later attachment easier.
get_particle_spectra methods are now deprecated wrappers.
These changes allow the user to predefined which emissions they want to be per particle and which should be integrated. They also enable the mixing of per particle component emissions and galaxy level integrated emissions which previously had to be done in stages with different models.
Issue Type
Enhancement
Checklist
[x] I have read the [CONTRIBUTING.md]() -->
[x] I have added docstrings to all methods
[x] I have added sufficient comments to all lines
[x] I have made corresponding changes to the documentation
[x] My changes generate no pep8 errors
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
This PR introduces the
per_particle
flag to anEmissionModel
.EmissionModel._get_spectra
and the lines equivalent now carry a dictionary for integrated and per particle spectra to make later attachment easier.get_particle_spectra
methods are now deprecated wrappers.These changes allow the user to predefined which emissions they want to be per particle and which should be integrated. They also enable the mixing of per particle component emissions and galaxy level integrated emissions which previously had to be done in stages with different models.
Issue Type
Checklist