Sidereal Sky¶
-
class SiderealSky : public simul::sky::SiderealSkyInterface¶
A class that calculates the positions of sun, moon and stars.
Public Functions
-
double GetDistanceToSun(double epoch_time) const¶
Get the distance to the sun in astronomical units.
-
double GetDistanceToMoon(double epoch_time, const Orbit &orbit) const¶
Get the distance to the moon in earth radii.
-
double GetTopocentricDistanceToMoon(double epoch_time, double latitude, double longitude, const Orbit &orbit) const¶
Get the distance to the moon from the earth’s surface in earth radii.
-
void GetSunEquatorialPosition(double &RA, double &decl, double epoch_time) const¶
Get the position of the sun in equatorial coordinates.
-
void GetMoonEquatorialPosition(double &RA, double &decl, double epoch_time, const Orbit &orbit, double *R = nullptr) const¶
Get the position of the moon in equatorial coordinates.
-
virtual void GetSunPosition(float &azimuth, float &elevation, double epoch_time, double latitude, double longitude) const¶
Get the position of the sun in the sky at a specified latitude and longitude.
-
virtual void GetMoonPosition(float &azimuth, float &elevation, double epoch_time, double latitude, double longitude, const Orbit &orbit) const¶
Get the position of the moon in the sky at a specified latitude and longitude.
-
virtual const float *SiderealToEarthMatrix(double epoch_time, double LatitudeRadians, double LongitudeRadians) const¶
Get a 4x4 transformation matrix to transform sidereal coordinates into azimuth and elevation.
Public Static Functions
-
static int DaysInTheYear(int y)¶
How many days in the specified year.
-
static void GetDate(int y, int &M, int &D, int day_of_the_year)¶
Get the month and day.
-
static double GetDayNumberFromDate(int year, int month, int day)¶
Convert year, month and day into a Julian Day Number.
-
double GetDistanceToSun(double epoch_time) const¶