...
This commit is contained in:
parent
fd2776084a
commit
66c3c7e6c7
@ -282,11 +282,32 @@ public:
|
|||||||
error_t obs2icrs(mcc_coord_pair_c auto const& xy_obs, MccSkyRADEC_ICRS* radec_icrs) {}
|
error_t obs2icrs(mcc_coord_pair_c auto const& xy_obs, MccSkyRADEC_ICRS* radec_icrs) {}
|
||||||
|
|
||||||
|
|
||||||
error_t equationOrigins(const mcc_julday_c auto& MJD, mcc_angle_c auto* EO)
|
error_t equationOrigins(const mcc_julday_c auto& mjd, mcc_angle_c auto* eo)
|
||||||
{
|
{
|
||||||
if (EO == nullptr) {
|
if (eo == nullptr) {
|
||||||
return MccCCTE_ERFAErrorCode::ERROR_NULLPTR;
|
return MccCCTE_ERFAErrorCode::ERROR_NULLPTR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
error_t ret = MccCCTE_ERFAErrorCode::ERROR_OK;
|
||||||
|
|
||||||
|
std::lock_guard lock{*_stateMutex};
|
||||||
|
|
||||||
|
using real_days_t = std::chrono::duration<double, std::ratio<86400>>;
|
||||||
|
|
||||||
|
auto tai_utc = _currentState._leapSeconds[mjd];
|
||||||
|
if (tai_utc.has_value()) {
|
||||||
|
double tt = mjd;
|
||||||
|
tt += std::chrono::duration_cast<real_days_t>(tai_utc.value()).count();
|
||||||
|
|
||||||
|
auto tt_tai = _currentState._bulletinA.TT_TAI();
|
||||||
|
tt += +std::chrono::duration_cast<real_days_t>(tt_tai).count();
|
||||||
|
|
||||||
|
*eo = eraEo06a(ERFA_DJM0, tt);
|
||||||
|
} else {
|
||||||
|
ret = MccCCTE_ERFAErrorCode::ERROR_LEAPSECONDS_OUT_OF_RANGE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
// refraction
|
// refraction
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user