27 #ifndef ArrayTime_CLASS
28 #define ArrayTime_CLASS
39 #include <asdmIDLTypesC.h>
103 static double getMJD(
double jd);
142 ArrayTime (
const asdmIDLTypes::IDLArrayTime &t);
184 ArrayTime(
int modifiedJulianDay,
double secondsInADay);
199 double getJD()
const;
216 std::string
toFITS()
const;
236 static void toBin(
const std::vector<std::vector<ArrayTime> >& arrayTime,
EndianOSStream& eoss);
243 static void toBin(
const std::vector<std::vector<std::vector<ArrayTime> > >& arrayTime,
EndianOSStream& eoss);
static const UTCCorrection UTCLast
The Interval class implements an interval of time in units of nanoseconds.
ArrayTime()
The nullary constructor.
double getJD() const
Return the julian day.
static int64_t jdToUnit(double jd)
static bool isLeapYear(int year)
The StringTokenizer class is a translation into C++ of the Java class of the same name in Java's util...
static ArrayTime sub(const ArrayTime &time, const Interval &interval)
ABSTRACT TOOL CLASSES A PlotTool is a higher level event handler for a PlotCanvas The idea is to take common tasks which may require multiple events and put them in one place PlotTools also provide additional functionality in that they can be active and blocking non blocking The PlotCanvas will only send events to active and will not send events to later tools or event handlers if the latest tool was blocking In this way a single tool can be used to handle ALL user interaction via the GUI at one time
static int64_t mjdToUnit(double mjd)
const Double minute
minute
static std::vector< ArrayTime > from1DBin(EndianIStream &eis)
Read the binary representation of a vector of ArrayTime from an EndianIStream and use the read value ...
TableExprNode year(const TableExprNode &node)
TableExprNode mjd(const TableExprNode &node)
TableExprNode month(const TableExprNode &node)
static ArrayTime add(const ArrayTime &time, const Interval &interval)
static const double unitsInADayDiv100
double getGreenwichMeanSiderealTime() const
static std::string unit()
int * getDateTime() const
static const UTCCorrection * UTCCorrectionTable
double getMJD() const
Return the modified julian day.
std::string timeOfDayToString() const
static const double julianDayOfBase
asdmIDLTypes::IDLArrayTime toIDLArrayTime() const
static const double unitsInADay
The ArrayTime class implements the concept of a point in time, implemented as an Interval of time sin...
static double unitToMJD(int64_t unit)
static const int numberSigDigitsInASecond
Useful constants.
double getLocalSiderealTime(double longitudeInHours) const
std::string toFITS() const
static const int64_t julianDayOfBaseInUnitsInADayDiv100
const Double second
Time interval [T]:
static ArrayTime fromBin(EndianIStream &eis)
Read the binary representation of an ArrayTime from a EndianIStream and use the read value to set an ...
static ArrayTime getArrayTime(StringTokenizer &t)
static const int64_t unitsInASecond
static std::vector< std::vector< ArrayTime > > from2DBin(EndianIStream &eis)
Read the binary representation of a vector of vector of ArrayTime from an EndianIStream and use the r...
static double utcCorrection(double jd)
static std::vector< std::vector< std::vector< ArrayTime > > > from3DBin(EndianIStream &eis)
Read the binary representation of a vector of vector of vector of ArrayTime from an EndianIStream and...
double getTimeOfDay() const
void toBin(EndianOSStream &eoss)
Write the binary representation of this to a EndianOSStream.
static const int64_t unitsInADayL
static double unitToJD(int64_t unit)
int64_t FITSString(std::string t) const
static int64_t init(int year, int month, double day)