diff --git a/mcc/mcc_coord.h b/mcc/mcc_coord.h index 8db60cd..f590eb0 100644 --- a/mcc/mcc_coord.h +++ b/mcc/mcc_coord.h @@ -567,30 +567,40 @@ protected: auto comp_func = [&, this](this auto& self, MccCoordPairKind cp_kind) { if (cp_kind == MccCoordPairKind::COORDS_KIND_AZALT) { - if constexpr (mccIsAppCoordPairKind) { - // correct for refraction: alt -= dz_refr - } + if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_AZZD) { + zd = half_pi - alt; + cpair.setX(az); + cpair.setY(zd); + } else { + if constexpr (mccIsAppCoordPairKind) { + // correct for refraction: alt -= dz_refr + } - azalt2hadec(az, alt, phi, ha, dec); - cpair.setY(dec); + azalt2hadec(az, alt, phi, ha, dec); + cpair.setY(dec); - if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_RADEC_APP) { - ra = lst + eo - ha; - cpair.setX(ra); - } else if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_RADEC_OBS) { - ra = lst + eo - ha; - cpair.setX(ra); - } else if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_HADEC_APP) { - cpair.setX(ha); - } else if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_HADEC_OBS) { - cpair.setX(ha); - // } else if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_AZALT) { - } else { // unsupported transformation!!! - return; + if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_RADEC_APP) { + ra = lst + eo - ha; + cpair.setX(ra); + } else if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_RADEC_OBS) { + ra = lst + eo - ha; + cpair.setX(ra); + } else if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_HADEC_APP) { + cpair.setX(ha); + } else if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_HADEC_OBS) { + cpair.setX(ha); + } else { // unsupported transformation!!! + return; + } } } else if (cp_kind == MccCoordPairKind::COORDS_KIND_AZZD) { - alt = half_pi - _y; - self(MccCoordPairKind::COORDS_KIND_AZALT); + alt = half_pi - zd; + if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_AZALT) { + cpair.setX(az); + cpair.setY(alt); + } else { + self(MccCoordPairKind::COORDS_KIND_AZALT); + } } else if (cp_kind == MccCoordPairKind::COORDS_KIND_HADEC_OBS) { if constexpr (PT::pairKind == MccCoordPairKind::COORDS_KIND_RADEC_OBS) { ra = lst + eo - ha;