Main Page | Modules | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

Time


Data Structures

struct  psTime
 Definition of psTime. More...

Enumerations

enum  psTimeType { PS_TIME_TAI, PS_TIME_UTC, PS_TIME_UT1, PS_TIME_TT }
 Time type. More...
enum  psTimeBulletin { PS_IERS_A, PS_IERS_B }
 Time Bulletin type. More...

Functions

psBool p_psTimeInit (const char *fileName)
 Initialize time data.
psBool p_psTimeFinalize (void)
 Free memory persistant time data.
psTimepsTimeAlloc (psTimeType type)
 Allocate time struct.
bool psMemCheckTime (psPtr ptr)
 Checks the type of a particular pointer.
psTimepsTimeGetNow (psTimeType type)
 Get current time.
psTimepsTimeConvert (psTime *time, psTimeType type)
 Convert psTime to UTC or TAI time.
double psTimeToLMST (psTime *time, double longitude)
 Convert psTime to Local Mean Sidereal Time (LMST).
double psTimeGetUT1Delta (const psTime *time, psTimeBulletin bulletin)
 Determine UT1 - UTC from table lookup.
psF64 p_psTimeGetTAIDelta (const psTime *time)
 Determine TAI - UTC from table lookup.
psSpherep_psTimeGetPoleCoords (const psTime *time)
 Determine polar coordinates at a given time.
long psTimeLeapSecondDelta (const psTime *time1, const psTime *time2)
 Calculate the number of leapseconds between two times.
bool psTimeIsLeapSecond (const psTime *utc)
 Determine if UTC time is a leapsecond.
double psTimeToJD (const psTime *time)
 Convert psTime to Julian date time.
double psTimeToMJD (const psTime *time)
 Convert psTime to modified Julian date time.
psString psTimeToISO (const psTime *time)
 Convert psTime to ISO8601 formatted string.
timeval * psTimeToTimeval (const psTime *time)
 Convert psTime to timeval time.
psTimepsTimeFromJD (double jd)
 Convert JD to psTime.
psTimepsTimeFromMJD (double mjd)
 Convert MJD to psTime.
psTimepsTimeFromISO (const char *input, psTimeType type)
 Convert ISO to psTime.
psTimepsTimeFromTimeval (const struct timeval *input)
 Convert timeval to psTime.
psTimepsTimeFromTT (psS64 sec, psU32 nsec)
 Convert Terrestrial Time to psTime.
psTimepsTimeFromUTC (psS64 sec, psU32 nsec, bool leapsecond)
 Convert UTC time to psTime.
psTimep_psTimeFromTM (const struct tm *time)
 Convert tm time to psTime.
psTimepsTimeMath (const psTime *time, double delta)
 Adds delta to time.
double psTimeDelta (const psTime *time1, const psTime *time2)
 Determine difference between two times.
char * p_psGetConfigFileName ()
 Get the filename of the psLib configuration file.
psF64 p_psTimeSearchTables (psF64 index, psU64 column, char *metadataTableNames[], psU32 nTables, psLookupStatusType *status)


Enumeration Type Documentation

enum psTimeBulletin
 

Time Bulletin type.

Enumeration for psTimeBulletin type, A or B.

Enumeration values:
PS_IERS_A  IERS Bulletin A.
PS_IERS_B  IERS Bulletin B.

Definition at line 52 of file psTime.h.

enum psTimeType
 

Time type.

Enumeration for psTime types, TAI or UTC time.

Enumeration values:
PS_TIME_TAI  Temps Atomique International (TAI) time (time with leapseconds).
PS_TIME_UTC  Universal Time Coordinated (UTC) time (time without leapseconds).
PS_TIME_UT1  Universal Time corrected for polar motion.
PS_TIME_TT  Terrestrial Time.

Definition at line 41 of file psTime.h.


Function Documentation

char* p_psGetConfigFileName  ) 
 

Get the filename of the psLib configuration file.

Returns:
char* If a PS_CONFIG_FILE environment variable exists, that is returned, otherwise the default location dependent on the installation location.

psBool p_psTimeFinalize void   ) 
 

Free memory persistant time data.

Frees time data to be held in memory until the end of successful program execution.

Returns:
void: void.

psTime* p_psTimeFromTM const struct tm *  time  ) 
 

Convert tm time to psTime.

Converts tm time to psTime. This function is based on a Perl algorithm availble in the Pan-STARRS Image processing Algorithm Design Description (ADD). This function does not add or subtract leapseconds.

Returns:
psTime*: time.
Parameters:
time  Input time to be converted.

psSphere* p_psTimeGetPoleCoords const psTime time  ) 
 

Determine polar coordinates at a given time.

Determines the orientation of the polar axis at the given time.

Returns:
psSphere*: Spherical coordinates of Earth's polar axias.
Parameters:
time  psTime determine polar orientation.

psF64 p_psTimeGetTAIDelta const psTime time  ) 
 

Determine TAI - UTC from table lookup.

This function is necessary to for various psTime functions.

Returns:
psF64: Time difference.
Parameters:
time  psTime to be looked up.

psBool p_psTimeInit const char *  fileName  ) 
 

Initialize time data.

Reads config and data files associated with various time conversions.

Returns:
bool: True for success, false for failure.
Parameters:
fileName  File name containing config/data info

psF64 p_psTimeSearchTables psF64  index,
psU64  column,
char *  metadataTableNames[],
psU32  nTables,
psLookupStatusType status
 

bool psMemCheckTime psPtr  ptr  ) 
 

Checks the type of a particular pointer.

Uses the appropriate deallocation function in psMemBlock to check the ptr datatype.

Returns:
bool: True if the pointer matches a psTime structure, false otherwise.
Parameters:
ptr  the pointer whose type to check

psTime* psTimeAlloc psTimeType  type  ) 
 

Allocate time struct.

Allocates an empty time struct. User must specify the psTimeType (PS_TIME_TAI or PS_TIME_UTC) in the argument. The seconds and microseconds members of the struct are set to zero.

Returns:
psTime*: Struct with empty time.
Parameters:
type  Type of time to create (UTC or TAI).

psTime* psTimeConvert psTime time,
psTimeType  type
 

Convert psTime to UTC or TAI time.

Converts psTime to UTC or TAI time based on the psTimeType argument.

Returns:
psTime*: Pointer to psTime.
Parameters:
time  Time to be converted.
type  Type to be converted to.

double psTimeDelta const psTime time1,
const psTime time2
 

Determine difference between two times.

Result is in TAI time.

Determine difference between two times. Input times are converted to TAI format if necessary.

Returns:
double: Time difference.
Parameters:
time1  First time.
time2  Second time.

psTime* psTimeFromISO const char *  input,
psTimeType  type
 

Convert ISO to psTime.

Converts ISO time to psTime. This function does not add or subtract leapseconds.

Returns:
psTime*: time
Parameters:
input  Input time to be converted.
type  Time type.

psTime* psTimeFromJD double  jd  ) 
 

Convert JD to psTime.

Converts JD time to psTime. This function does not add or subtract leapseconds.

Returns:
psTime: time.
Parameters:
jd  Input time to be converted.

psTime* psTimeFromMJD double  mjd  ) 
 

Convert MJD to psTime.

Converts MJD time to psTime. This function does not add or subtract leapseconds.

Returns:
psTime: time.
Parameters:
mjd  Input time to be converted.

psTime* psTimeFromTimeval const struct timeval *  input  ) 
 

Convert timeval to psTime.

Converts timeval time to psTime. This function does not add or subtract leapseconds.

Returns:
psTime*: time.
Parameters:
input  Input time to be converted.

psTime* psTimeFromTT psS64  sec,
psU32  nsec
 

Convert Terrestrial Time to psTime.

Converts Terrestial Time to psTime. This function assumes resultant time is of type TT.

Returns:
psTime*: time (TT)
Parameters:
sec  Input terrestrial time in seconds
nsec  Input terrestrial time fraction of seconds (nanoseconds)

psTime* psTimeFromUTC psS64  sec,
psU32  nsec,
bool  leapsecond
 

Convert UTC time to psTime.

Converts UTC time to psTime. It will verify if time specified is a leapsecond.

Returns:
psTime*: time (UTC)time
Parameters:
sec  Input time in seconds
nsec  Input time fraction of seconds (nanoseconds)
leapsecond  Input time is a leapsecond

psTime* psTimeGetNow psTimeType  type  ) 
 

Get current time.

Gets current time from the system clock. User must specify the psTimeType (PS_TIME_TAI or PS_TIME_UTC) in the argument.

Returns:
psTime*: Struct with current time.
Parameters:
type  Type of time to get (UTC or TAI).

double psTimeGetUT1Delta const psTime time,
psTimeBulletin  bulletin
 

Determine UT1 - UTC from table lookup.

This function is necessary to for various SLALIB functions.

Returns:
double: Time difference.
Parameters:
time  psTime to be looked up.
bulletin  IERS bulletin to use

bool psTimeIsLeapSecond const psTime utc  ) 
 

Determine if UTC time is a leapsecond.

Determines if the specified UTC time is a valid leapsecond.

Returns:
bool: valid leap second
Parameters:
utc  UTC to verify if leap second

long psTimeLeapSecondDelta const psTime time1,
const psTime time2
 

Calculate the number of leapseconds between two times.

Calculates the number of leapseconds between two times.

Returns:
long: leapseconds added between given times
Parameters:
time1  First input time.
time2  Second input time.

psTime* psTimeMath const psTime time,
double  delta
 

Adds delta to time.

Result is in TAI time.

Adds delta to time. Input time is converted to TAI format if necessary.

Returns:
psTime*: time.
Parameters:
time  Time.
delta  Time delta.

psString psTimeToISO const psTime time  ) 
 

Convert psTime to ISO8601 formatted string.

Converts psTime to a null terminated string in the form of YYYY-MM-DDThh:mm:ss.sss. This function does not add or subtract leapseconds.

Returns:
psString: Pointer null terminated array of chars in ISO time.
Parameters:
time  Input time to be converted.

double psTimeToJD const psTime time  ) 
 

Convert psTime to Julian date time.

Converts psTime to Julian date (JD) time. This function does not add or subtract leapseconds.

Returns:
double: Julian Date (JD) time.
Parameters:
time  Input time to be converted.

double psTimeToLMST psTime time,
double  longitude
 

Convert psTime to Local Mean Sidereal Time (LMST).

Converts psTime at the given longitude to LMST time. If the input time is not in UTC format, then it is converted.

Returns:
double: LST Time.
Parameters:
time  psTime to be converted.
longitude  Longitude.

double psTimeToMJD const psTime time  ) 
 

Convert psTime to modified Julian date time.

Converts psTime to modified Julian date (MJD) time. This function does not add or subtract leapseconds.

Returns:
double: Modified Julian Days (MJD) time.
Parameters:
time  Input time to be converted.

struct timeval* psTimeToTimeval const psTime time  ) 
 

Convert psTime to timeval time.

Converts psTime to timeval time. This function does not add or subtract leapseconds.

Returns:
timeval*: timeval struct time.
Parameters:
time  Input time to be converted.


Generated on Wed Sep 14 10:43:47 2005 for Pan-STARRS Foundation Library by  doxygen 1.4.2