Commit 39a150566af715082adfe5cb8d23fb9198929e4a
1 parent
408113a8
Fix ctmodel bug for stacked analysis with diffuse maps or cubes (#2171)
Showing
4 changed files
with
13 additions
and
5 deletions
ChangeLog
| 1 | -2017-07-03 | 1 | +2017-07-27 |
| 2 | 2 | ||
| 3 | * Version 1.4.0 released | 3 | * Version 1.4.0 released |
| 4 | ======================== | 4 | ======================== |
| 5 | 5 | ||
| 6 | + Fix ctmodel bug for stacked analysis with diffuse maps or cubes (#2171) | ||
| 6 | Install ctools header files (#2145) | 7 | Install ctools header files (#2145) |
| 7 | 8 | ||
| 8 | 9 |
NEWS
| 1 | New Features and Important Changes in ctools 1.4.0 | 1 | New Features and Important Changes in ctools 1.4.0 |
| 2 | 2 | ||
| 3 | -3 July 2017 | 3 | +27 July 2017 |
| 4 | 4 | ||
| 5 | 5 | ||
| 6 | Introduction | 6 | Introduction |
| @@ -57,7 +57,10 @@ None | @@ -57,7 +57,10 @@ None | ||
| 57 | 57 | ||
| 58 | ctmodel - CTA counts cube modelling | 58 | ctmodel - CTA counts cube modelling |
| 59 | ----------------------------------- | 59 | ----------------------------------- |
| 60 | -None | 60 | +The diffuse response computation for a stacked analysis require the ipix() and iend() |
| 61 | +attributes set in order to properly cache the response values, yet the ctmodel | ||
| 62 | +modifications introduced in version 1.3.1 did not properly set these attributes. | ||
| 63 | +This has been corrected (#2171). | ||
| 61 | 64 | ||
| 62 | 65 | ||
| 63 | ctexpcube - CTA exposure cube generation | 66 | ctexpcube - CTA exposure cube generation |
doc/source/admin/release_history/1.4.rst
| @@ -21,6 +21,8 @@ Bug fixes | @@ -21,6 +21,8 @@ Bug fixes | ||
| 21 | Improvements | 21 | Improvements |
| 22 | ------------ | 22 | ------------ |
| 23 | 23 | ||
| 24 | +* [`2171 <https://cta-redmine.irap.omp.eu/issues/2171>`_] - | ||
| 25 | + Fix ctmodel bug for stacked analysis with diffuse maps or cubes | ||
| 24 | * [`2145 <https://cta-redmine.irap.omp.eu/issues/2145>`_] - | 26 | * [`2145 <https://cta-redmine.irap.omp.eu/issues/2145>`_] - |
| 25 | Install C++ header files | 27 | Install C++ header files |
| 26 | 28 |
src/ctmodel/ctmodel.cpp
| @@ -842,9 +842,10 @@ void ctmodel::fill_cube(const GCTAObservation* obs) | @@ -842,9 +842,10 @@ void ctmodel::fill_cube(const GCTAObservation* obs) | ||
| 842 | continue; | 842 | continue; |
| 843 | } | 843 | } |
| 844 | 844 | ||
| 845 | - // Set instrument direction and solid angle of bin | 845 | + // Set instrument direction, solid angle and pixel index of bin |
| 846 | bin.dir(m_dir[i]); | 846 | bin.dir(m_dir[i]); |
| 847 | bin.solidangle(m_solidangle[i]); | 847 | bin.solidangle(m_solidangle[i]); |
| 848 | + bin.ipix(i); | ||
| 848 | 849 | ||
| 849 | // Loop over all of the energy bins of the cube | 850 | // Loop over all of the energy bins of the cube |
| 850 | for (int iebin = 0, ibin = i; iebin < nebins; ++iebin, ibin += npix) { | 851 | for (int iebin = 0, ibin = i; iebin < nebins; ++iebin, ibin += npix) { |
| @@ -857,9 +858,10 @@ void ctmodel::fill_cube(const GCTAObservation* obs) | @@ -857,9 +858,10 @@ void ctmodel::fill_cube(const GCTAObservation* obs) | ||
| 857 | continue; | 858 | continue; |
| 858 | } | 859 | } |
| 859 | 860 | ||
| 860 | - // Set energy and energy width of bin | 861 | + // Set energy, energy width and energy index of bin |
| 861 | bin.energy(m_energy[iebin]); | 862 | bin.energy(m_energy[iebin]); |
| 862 | bin.ewidth(m_ewidth[iebin]); | 863 | bin.ewidth(m_ewidth[iebin]); |
| 864 | + bin.ieng(iebin); | ||
| 863 | 865 | ||
| 864 | // Compute model value for cube bin | 866 | // Compute model value for cube bin |
| 865 | double model = models.eval(bin, *obs) * bin.size(); | 867 | double model = models.eval(bin, *obs) * bin.size(); |