Commit 020801083274ce91c9bca0bd7dbab3567bb98227
1 parent
9cd0c01e
Add kludge to handle incomplete Fermi-LAT source maps (#2850)
Showing
4 changed files
with
38 additions
and
6 deletions
ChangeLog
| 1 | -2019-03-06 | 1 | +2019-03-21 |
| 2 | 2 | ||
| 3 | * Version 1.6.0 released | 3 | * Version 1.6.0 released |
| 4 | ======================== | 4 | ======================== |
| 5 | 5 | ||
| 6 | + Add kludge to handle incomplete Fermi-LAT source maps (#2850) | ||
| 6 | Correct Nbgd computation in GCTAOnOffObservation for Non=0 (#2838) | 7 | Correct Nbgd computation in GCTAOnOffObservation for Non=0 (#2838) |
| 7 | Improve OpenMP handling in GWcs::dir2pix (#2770) | 8 | Improve OpenMP handling in GWcs::dir2pix (#2770) |
| 8 | Add support for Fermi/LAT P8V3 response functions | 9 | Add support for Fermi/LAT P8V3 response functions |
NEWS
| 1 | New Features and Important Changes in GammaLib 1.6.0 | 1 | New Features and Important Changes in GammaLib 1.6.0 |
| 2 | 2 | ||
| 3 | -6 March 2019 | 3 | +21 March 2019 |
| 4 | 4 | ||
| 5 | 5 | ||
| 6 | 1. Introduction | 6 | 1. Introduction |
| @@ -313,7 +313,11 @@ None | @@ -313,7 +313,11 @@ None | ||
| 313 | 313 | ||
| 314 | 314 | ||
| 315 | 19. Fermi-LAT interface | 315 | 19. Fermi-LAT interface |
| 316 | ----------------------- | 316 | +----------------------- |
| 317 | +Add kludge that allows handling of source maps that do not have WCS information | ||
| 318 | +in the diffuse model maps. Such source maps are produced by the fermitools | ||
| 319 | +version 1.0 (#2850). | ||
| 320 | + | ||
| 317 | The P8V3 Fermi/LAT response functions are now included in the package and | 321 | The P8V3 Fermi/LAT response functions are now included in the package and |
| 318 | unit tests for that response functions were added. | 322 | unit tests for that response functions were added. |
| 319 | 323 |
doc/source/admin/release_history/1.6.rst
| @@ -51,6 +51,8 @@ Bug fixes | @@ -51,6 +51,8 @@ Bug fixes | ||
| 51 | Improvements | 51 | Improvements |
| 52 | ------------ | 52 | ------------ |
| 53 | 53 | ||
| 54 | +* [`2850 <https://cta-redmine.irap.omp.eu/issues/2850>`_] - | ||
| 55 | + Add kludge to handle incomplete Fermi-LAT source maps | ||
| 54 | * [`2770 <https://cta-redmine.irap.omp.eu/issues/2770>`_] - | 56 | * [`2770 <https://cta-redmine.irap.omp.eu/issues/2770>`_] - |
| 55 | Improve OpenMP handling in ``GWcs::dir2pix`` | 57 | Improve OpenMP handling in ``GWcs::dir2pix`` |
| 56 | * Add support for Fermi/LAT P8V3 response functions | 58 | * Add support for Fermi/LAT P8V3 response functions |
inst/lat/src/GLATEventCube.cpp
| 1 | /*************************************************************************** | 1 | /*************************************************************************** |
| 2 | * GLATEventCube.cpp - Fermi/LAT event cube class * | 2 | * GLATEventCube.cpp - Fermi/LAT event cube class * |
| 3 | * ----------------------------------------------------------------------- * | 3 | * ----------------------------------------------------------------------- * |
| 4 | - * copyright (C) 2009-2018 by Juergen Knoedlseder * | 4 | + * copyright (C) 2009-2019 by Juergen Knoedlseder * |
| 5 | * ----------------------------------------------------------------------- * | 5 | * ----------------------------------------------------------------------- * |
| 6 | * * | 6 | * * |
| 7 | * This program is free software: you can redistribute it and/or modify * | 7 | * This program is free software: you can redistribute it and/or modify * |
| @@ -48,6 +48,7 @@ | @@ -48,6 +48,7 @@ | ||
| 48 | /* __ Macros _____________________________________________________________ */ | 48 | /* __ Macros _____________________________________________________________ */ |
| 49 | 49 | ||
| 50 | /* __ Coding definitions _________________________________________________ */ | 50 | /* __ Coding definitions _________________________________________________ */ |
| 51 | +#define G_MISSING_WCS_KLUDGE //!< Handle source maps with missing WCS | ||
| 51 | 52 | ||
| 52 | /* __ Debug definitions __________________________________________________ */ | 53 | /* __ Debug definitions __________________________________________________ */ |
| 53 | 54 | ||
| @@ -380,11 +381,35 @@ void GLATEventCube::read(const GFits& fits) | @@ -380,11 +381,35 @@ void GLATEventCube::read(const GFits& fits) | ||
| 380 | 381 | ||
| 381 | // Load additional source maps | 382 | // Load additional source maps |
| 382 | for (int i = 1; i < fits.size(); ++i) { | 383 | for (int i = 1; i < fits.size(); ++i) { |
| 384 | + | ||
| 385 | + // Only consider image extensions | ||
| 383 | if (fits.at(i)->exttype() == GFitsHDU::HT_IMAGE) { | 386 | if (fits.at(i)->exttype() == GFitsHDU::HT_IMAGE) { |
| 387 | + | ||
| 388 | + // Get FITS image | ||
| 384 | const GFitsImage& hdu_srcmap = *fits.image(i); | 389 | const GFitsImage& hdu_srcmap = *fits.image(i); |
| 390 | + | ||
| 391 | + // Handle files that do not have WCS in their additional | ||
| 392 | + // source map extensions | ||
| 393 | + #if defined(G_MISSING_WCS_KLUDGE) | ||
| 394 | + std::string keys[] = {"CTYPE1", "CTYPE2", "CTYPE3", | ||
| 395 | + "CRPIX1", "CRPIX2", "CRPIX3", | ||
| 396 | + "CRVAL1", "CRVAL2", "CRVAL3", | ||
| 397 | + "CDELT1", "CDELT2", "CDELT3", | ||
| 398 | + "CUNIT1", "CUNIT2", "CUNIT3", | ||
| 399 | + "CROTA2"}; | ||
| 400 | + for (int i = 0; i < 16; ++i) { | ||
| 401 | + if (!hdu_srcmap.has_card(keys[i])) { | ||
| 402 | + const_cast<GFitsImage&>(hdu_srcmap).card(hdu_cntmap.card(keys[i])); | ||
| 403 | + } | ||
| 404 | + } | ||
| 405 | + #endif | ||
| 406 | + | ||
| 407 | + // Read source map | ||
| 385 | read_srcmap(hdu_srcmap); | 408 | read_srcmap(hdu_srcmap); |
| 386 | - } | ||
| 387 | - } | 409 | + |
| 410 | + } // endif: extension is an image | ||
| 411 | + | ||
| 412 | + } // endfor: looped over additional source maps | ||
| 388 | 413 | ||
| 389 | // Return | 414 | // Return |
| 390 | return; | 415 | return; |