Commit 84a24dfa2176c3bb04fc0492d33ade1ba08de9f8
Committed by
Jürgen Knödlseder
1 parent
13c8995b
Fix in skycoord handling
Showing
1 changed file
with
6 additions
and
0 deletions
src/sky/GSkyRegionRect.cpp
| ... | ... | @@ -754,6 +754,7 @@ bool GSkyRegionRect::overlaps(const GSkyRegion& reg) const |
| 754 | 754 | GSkyDir GSkyRegionRect::transform_to_local(const GSkyDir& skydir) const |
| 755 | 755 | { |
| 756 | 756 | // Get rid of negative right ascension coordinates |
| 757 | + // to obtain angles in [0,2pi] | |
| 757 | 758 | // (Surely there is a more clever way to to this) |
| 758 | 759 | double skydir_ra = skydir.ra(); |
| 759 | 760 | if (skydir_ra < 0) { |
| ... | ... | @@ -768,6 +769,11 @@ GSkyDir GSkyRegionRect::transform_to_local(const GSkyDir& skydir) const |
| 768 | 769 | double dx = skydir_ra - centre_ra; |
| 769 | 770 | double dy = skydir.dec() - m_centre.dec(); |
| 770 | 771 | |
| 772 | + // Make sure the closest angular separation is chosen | |
| 773 | + if (std::abs(dx) > gammalib::pi) { | |
| 774 | + dx = gammalib::twopi - std::abs(dx); | |
| 775 | + } | |
| 776 | + | |
| 771 | 777 | // Correction for spherical coordinate system |
| 772 | 778 | dx *= std::cos(skydir.dec()); |
| 773 | 779 | ... | ... |