Vulcan
Aerospace Engineering Utilities Built on Janus
Loading...
Searching...
No Matches
TimeConstants.hpp
Go to the documentation of this file.
1#pragma once
2
4
5// =============================================================================
6// Julian Date Reference Epochs
7// =============================================================================
8
10inline constexpr double JD_J2000 = 2451545.0;
11
13inline constexpr double MJD_J2000 = 51544.5;
14
16inline constexpr double MJD_OFFSET = 2400000.5;
17
19inline constexpr double JD_GPS_EPOCH = 2444244.5;
20
22inline constexpr double JD_UNIX_EPOCH = 2440587.5;
23
25inline constexpr double JD_J1900 = 2415020.0;
26
27// =============================================================================
28// Time Scale Offsets (seconds)
29// =============================================================================
30
32inline constexpr double TT_TAI_OFFSET = 32.184;
33
35inline constexpr double GPS_TAI_OFFSET = -19.0;
36
38inline constexpr double TAI_GPS_OFFSET = 19.0;
39
40// =============================================================================
41// Time Conversion Factors
42// =============================================================================
43
45inline constexpr double SECONDS_PER_DAY = 86400.0;
46
48inline constexpr double SECONDS_PER_CENTURY = 86400.0 * 36525.0;
49
51inline constexpr double DAYS_PER_CENTURY = 36525.0;
52
54inline constexpr double DAYS_PER_YEAR = 365.25;
55
57inline constexpr double SECONDS_PER_WEEK = 604800.0;
58
59// =============================================================================
60// Precision Constants
61// =============================================================================
62
64inline constexpr double JD_TOLERANCE = 1.0e-11;
65
67inline constexpr double TIME_TOLERANCE = 1.0e-9;
68
69} // namespace vulcan::constants::time
Definition TimeConstants.hpp:3
constexpr double JD_GPS_EPOCH
Julian Date of GPS epoch (1980-01-06 00:00:00 UTC).
Definition TimeConstants.hpp:19
constexpr double TIME_TOLERANCE
Tolerance for time comparisons [seconds] (~1 nanosecond).
Definition TimeConstants.hpp:67
constexpr double SECONDS_PER_WEEK
Seconds per week (for GPS).
Definition TimeConstants.hpp:57
constexpr double SECONDS_PER_DAY
Seconds per day.
Definition TimeConstants.hpp:45
constexpr double MJD_OFFSET
Julian Date offset: JD = MJD + MJD_OFFSET.
Definition TimeConstants.hpp:16
constexpr double SECONDS_PER_CENTURY
Seconds per Julian century.
Definition TimeConstants.hpp:48
constexpr double JD_UNIX_EPOCH
Julian Date of Unix epoch (1970-01-01 00:00:00 UTC).
Definition TimeConstants.hpp:22
constexpr double DAYS_PER_YEAR
Days per Julian year.
Definition TimeConstants.hpp:54
constexpr double DAYS_PER_CENTURY
Days per Julian century.
Definition TimeConstants.hpp:51
constexpr double MJD_J2000
Modified Julian Date of J2000.0.
Definition TimeConstants.hpp:13
constexpr double JD_TOLERANCE
Tolerance for Julian Date comparisons [days] (~1 microsecond).
Definition TimeConstants.hpp:64
constexpr double JD_J2000
Julian Date of J2000.0 epoch (2000-01-01 12:00:00 TT).
Definition TimeConstants.hpp:10
constexpr double TT_TAI_OFFSET
TT - TAI offset [s] (exact, by definition).
Definition TimeConstants.hpp:32
constexpr double GPS_TAI_OFFSET
GPS - TAI offset [s] (exact: GPS = TAI - 19s at GPS epoch).
Definition TimeConstants.hpp:35
constexpr double JD_J1900
Julian Date of J1900.0 (1899-12-31 12:00:00 UT).
Definition TimeConstants.hpp:25
constexpr double TAI_GPS_OFFSET
TAI - GPS offset [s].
Definition TimeConstants.hpp:38