#include <VcstCmnGeoEclipse.h>
|
double | calcT (const double kFactor) |
|
double | calcTjdPhase () |
|
double | calcMoonArgLat () |
|
double | calcSunMeanAnom () |
|
double | calcMoonMeanAnom () |
|
double | calcMoonLongAscNode () |
|
double | calcEarthEccen () |
|
double | calcF1 (const double moonArgLat, const double moonLAN) |
|
double | calcA1 () |
|
double | calcP (const double earthEccen, const double sunMeanAnom, const double moonMeanAnom, const double F1) |
|
double | calcQ (const double earthEccen, const double sunMeanAnom, const double moonMeanAnom) |
|
double | calcGamma (const double P, const double Q, const double F1) |
|
double | calcU (const double earthEccen, const double sunMeanAnom, const double moonMeanAnom) |
|
double | normalizeAngle (const double angle) const |
|
double | convertTJDtoTAI (const double tjd) const |
|
double | convertTAItoTJD (const double inTAI) const |
|
VcstCmnGeoEclipse serves as a cache for eclipse parameters computed by VcstCmnGeo. It stores the key parameters for a given eclipse, including the lunar cycle number, the time of the full or new moon, whether an eclipse is occuring at the particular lunar phase and if so, the begin and end times of the (penumbral) eclipse.
Definition at line 29 of file VcstCmnGeoEclipse.h.
◆ VcstCmnGeoEclipse() [1/2]
◆ VcstCmnGeoEclipse() [2/2]
◆ ~VcstCmnGeoEclipse()
◆ calcA1()
Calculates the Meeus parameter A1, which is used to calculate the time of maximum eclipse. See Meeus, pg. 380.
- Returns
- "A1" factor, in radians
◆ calcEarthEccen()
double calcEarthEccen |
( |
| ) |
|
|
protected |
Calculate the eccentricity of the Earth's orbit around the Sun for the time represented by the previously computed "k" (lunar cycles) and "T" (Julian centuries) factors. See Meeus eq. (47.6), pg. 338.
- Returns
- Eccentricity of the Earth's orbit
◆ calcF1()
double calcF1 |
( |
const double |
moonArgLat, |
|
|
const double |
moonLAN |
|
) |
| |
|
protected |
Calculates the Meeus parameter F1, which is used to calculate the time of maximum eclipse. See Meeus, pg. 380.
- Parameters
-
moonArgLat | the Moon's Argument of Latitude, in radians and normalized with the range 0 to 2 PI. |
moonLAN | the Moon's longitude of ascending node, in radians and normalized within the range 0 to 2 PI. |
- Returns
- "F1" factor, in radians
◆ calcGamma()
Calculate Meeus' "gamma", which has slightly different meanings depending upon whether you're computing solar or lunar eclipses. For solar eclipses, gamma represents the least distance from the axis of the Moon's shadow to the center of the Earth. For lunar eclipses, gamma represents the least distance from the center of the Moon to the axis of the Earth's shadow. In both cases, units are in Earth equatorial radii. Gamma may be positive or negative. See equation for gamma in Meeus, pg. 381.
- Parameters
-
P | Meeus' "P" parameter; see Meeus, pg. 381 |
Q | Meeus' "Q" parameter; see Meeus, pg. 381 |
F1 | Meeus' "F1" parameter, see Meeus, pg. 380. |
- Returns
- "gamma", in units of Earth's equatorial radius
◆ calcLunarEclipse()
void calcLunarEclipse |
( |
const double |
kFactor | ) |
|
Calculate lunar eclipse parameters for the Full Moon specified by Meeus' k-factor. Upon successful return, the eclipse paramaters for this object will be set to the eclipse parameters for the given moon cycle/phase and may be retrieved via the 'getParams' method.
- Parameters
-
kFactor | input "k" factor, which specifies the lunar phase cycle since the New Moon of January 6, 2000. For Full Moons, k is an integer increased by 0.5. See Meeus pgs. 349 and 350. |
◆ calcMoonArgLat()
double calcMoonArgLat |
( |
| ) |
|
|
protected |
Get the Moon's argument of latitude for the time represented by the previously computed "k" (lunar cycles) and "T" (Julian centuries) factors. See Meeus parameter "F", eq (49.6), pg. 350.
- Returns
- the Moon's Argument of Latitude, in radians and normalized with the range 0 to 2 PI.
◆ calcMoonLongAscNode()
double calcMoonLongAscNode |
( |
| ) |
|
|
protected |
Get the longitude of the ascending node of the lunar orbit for the time represented by the previously computed "k" (lunar cycles) and "T" (Julian centuries) factors. See Meeus parameter "Omega", eq (49.7), pg. 350.
- Returns
- the Moon's longitude of ascending node, in radians and normalized within the range 0 to 2 PI.
◆ calcMoonMeanAnom()
double calcMoonMeanAnom |
( |
| ) |
|
|
protected |
Get the Moon's mean anomaly for the time represented by the previously computed "k" (lunar cycles) and "T" (Julian centuries) factors. See Meeus parameter "M'", eq (49.5), pg. 350.
- Returns
- the Moon's mean anomaly, in radians and normalized with the range 0 to 2 PI.
◆ calcP()
double calcP |
( |
const double |
earthEccen, |
|
|
const double |
sunMeanAnom, |
|
|
const double |
moonMeanAnom, |
|
|
const double |
F1 |
|
) |
| |
|
protected |
Calculate Meeus' "P" factor; see Meeus, pg. 381.
- Parameters
-
earthEccen | Eccentricity of the Earth's orbit, "E" |
sunMeanAnom | the Sun's mean anomaly, "M", in radians and normalized with the range 0 to 2 PI. |
moonMeanAnom | the Moon's mean anomaly, "M'" in radians and normalized with the range 0 to 2 PI. |
F1 | Meeus' parameter "F1" from pg. 380 |
- Returns
- "P", in units of the equatorial radius of the Earth.
◆ calcQ()
double calcQ |
( |
const double |
earthEccen, |
|
|
const double |
sunMeanAnom, |
|
|
const double |
moonMeanAnom |
|
) |
| |
|
protected |
Calculate Meeus' "Q" factor; see Meeus, pg. 381.
- Parameters
-
earthEccen | Eccentricity of the Earth's orbit, "E" |
sunMeanAnom | the Sun's mean anomaly, "M", in radians and normalized with the range 0 to 2 PI. |
moonMeanAnom | the Moon's mean anomaly, "M'" in radians and normalized with the range 0 to 2 PI. |
- Returns
- "Q", in units of the equatorial radius of the Earth.
◆ calcSolarEclipse()
void calcSolarEclipse |
( |
const double |
kFactor | ) |
|
Calculate solar eclipse parameters for the New Moon specified by Meeus' k-factor. Upon successful return, the eclipse paramaters for this object will be set to the eclipse parameters for the given moon cycle/phase and may be retrieved via the 'getParams' method.
- Parameters
-
kFactor | input "k" factor, which specifies the lunar phase cycle since the New Moon of January 6, 2000. For New Moons, k is a integer value. See Meeus pgs. 349 and 350. |
◆ calcSunMeanAnom()
double calcSunMeanAnom |
( |
| ) |
|
|
protected |
Get the Sun's mean anomaly for the time represented by the previously computed "k" (lunar cycles) and "T" (Julian centuries) factors. See Meeus parameter "M", eq (49.4), pg. 350.
- Returns
- the Sun's mean anomaly, in radians and normalized with the range 0 to 2 PI.
◆ calcT()
double calcT |
( |
const double |
kFactor | ) |
|
|
protected |
Get the time in Julian centuries since the epoch 2000. Meeus refers to this parameter as "T". See eq (49.3), pg 350.
- Parameters
-
kFactor | input "k" factor, which specifies the lunar phase cycle since the New Moon of January 6, 2000. See Meeus, pg 349-350. |
- Returns
- time in Julian centuries since epoch 2000.
◆ calcTjdPhase()
Get the time of the mean phase of the Moon (in TDT Julian Days) for the specific lunar cycle and phase represented by the previously computed "k" (lunar cycles) and "T" (Julian centuries) factors. See Meeus, eq (49.1), pg. 349.
- Returns
- time of the mean phase of the moon in TDT Julian days
◆ calcU()
double calcU |
( |
const double |
earthEccen, |
|
|
const double |
sunMeanAnom, |
|
|
const double |
moonMeanAnom |
|
) |
| |
|
protected |
Calculate Meeus' "u", which denotes the radius of the Moon's umbral cone in the fundamental plane, which is the plane through the center of the Earth and perpendicular to the axis of the Moon's shadow. See equation for u in Meeus, pg. 381.
- Parameters
-
earthEccen | Eccentricity of the Earth's orbit, "E" |
sunMeanAnom | the Sun's mean anomaly, "M", in radians and normalized with the range 0 to 2 PI. |
moonMeanAnom | the Moon's mean anomaly, "M'" in radians and normalized with the range 0 to 2 PI. |
- Returns
- "u", in units of Earth's equatorial radius
◆ convertTAItoTJD()
double convertTAItoTJD |
( |
const double |
inTAI | ) |
const |
|
protected |
Convert the given time from TAI to Terrestrial Dynamic Time in Julian days (Meeus' JDE).
- Parameters
-
- Returns
- tjd equivalent
◆ convertTJDtoTAI()
double convertTJDtoTAI |
( |
const double |
tjd | ) |
const |
|
protected |
Convert the given time from Terrestrial Dynamic Time in Julian days (Meeus' JDE) to TAI.
- Parameters
-
tjd | Time in TDT Julian Days (JDE) |
- Returns
- TAI equivalent
◆ getEclipseBegin()
double getEclipseBegin |
( |
| ) |
const |
TAI time of the beginning of eclipse, if one is occurring.
◆ getEclipseEnd()
double getEclipseEnd |
( |
| ) |
const |
TAI time of the end of eclipse, if one is occurring.
◆ getEclipseFlag()
bool getEclipseFlag |
( |
| ) |
const |
true indicates eclipse is occurring for this new/full moon, false indicates it is not.
◆ getTAI()
Get the time of the eclipse data, in TAI. If an eclipse is occurring, this time will be the time of maximum eclipse; if no eclipse is occurring, the time will be the time of the mean New or Full Moon.
Definition at line 465 of file VcstCmnGeoEclipse.h.
◆ normalizeAngle()
double normalizeAngle |
( |
const double |
angle | ) |
const |
|
protected |
Take the given angle, in radians, and normalize so that 0 <= result <= 2PI.
- Parameters
-
- Returns
- normalized angle in radians
◆ operator=()
◆ operator<<
Give output operator access to member data.
Output operator
Definition at line 472 of file VcstCmnGeoEclipse.h.
The documentation for this class was generated from the following file: