diff --git a/src/sky/GSkyRegionRect.cpp b/src/sky/GSkyRegionRect.cpp index 2123191..0dc1769 100644 --- a/src/sky/GSkyRegionRect.cpp +++ b/src/sky/GSkyRegionRect.cpp @@ -753,8 +753,19 @@ bool GSkyRegionRect::overlaps(const GSkyRegion& reg) const ***************************************************************************/ GSkyDir GSkyRegionRect::transform_to_local(const GSkyDir& skydir) const { + // Get rid of negative right ascension coordinates + // (Surely there is a more clever way to to this) + double skydir_ra = skydir.ra(); + if (skydir_ra < 0) { + skydir_ra += gammalib::twopi; + } + double centre_ra = m_centre.ra(); + if (centre_ra < 0) { + centre_ra += gammalib::twopi; + } + // Compute separation (in radians) - double dx = skydir.ra() - m_centre.ra(); + double dx = skydir_ra - centre_ra; double dy = skydir.dec() - m_centre.dec(); // Correction for spherical coordinate system