Sidereal Sky

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

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

Public Functions

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.

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.

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.

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.

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.

Public Static Functions

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.

static int DaysInTheYear(int y)

How many days in the specified year.