Sidereal Sky

class simul::sky::SiderealSky : public simul::sky::SiderealSkyInterface

A class that calculates the positions of sun, moon and stars.

Public Functions

virtual const float *SiderealToEarthMatrix(double epoch_time, float LatitudeRadians, float LongitudeRadians) const

Get a 4x4 transformation matrix to transform sidereal coordinates into azimuth and elevation.

virtual void GetSunPosition(float &azimuth, float &elevation, double epoch_time, float latitude, float longitude) const

Get the position of the sun in the sky with regards to its Azimuth and Elevation.

void GetSunGeocentricPosition(double &RA, double &decl, double epoch_time) const

Get the position of the sun in the sky with regards to its Azimuth and Elevation.

virtual void GetMoonPosition(float &azimuth, float &elevation, double epoch_time, float latitude, float longitude, const Orbit &orbit) const

Get the position of the moon in the sky with regards to its Azimuth and Elevation.

void GetMoonGeocentricPosition(double &RA, double &decl, double epoch_time, const Orbit &orbit, double *R = nullptr) const

Get the position of the moon in the sky with regards to its 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.