Loading...
Searching...
No Matches
casacore::FITSDateUtil Class Reference
fits package (libcasa_fits) » FITS_module

More...

`#include <FITSDateUtil.h>`

## Public Types

enum | DateStyle { OLD , NEW_DATEONLY , NEW_DATEANDTIME , AUTO_PICK }

## Static Public Member Functions

static void | toFITS (String &date, String &timesys, const MVTime &time, MEpoch::Types system=MEpoch::UTC, DateStyle style=AUTO_PICK, uInt precision=12)
| Convert an MVTime to a FITS date string and timesys string.
static Bool | fromFITS (MVTime &time, MEpoch::Types &system, const String &date, const String &timesys)
| Convert a FITS date string and TIMESYS keyword value into an MVTime and system.
static Bool | convertDateString (String &out, const String &in)
| Convert a FITS Date string to the current format.
static uInt | findPrecision (const String &fitsDate)
| Determine the precision in a FITS date string.

## Detailed Description

A class with static functions to help deal with FITS dates

### Intended use:

Public interface

### Review Status

Reviewed By:
  Eric Sessoms
Date Reviewed:
  2002/08/19
Test programs:
  tFITSDateUtil

### Prerequisite

- General knowledge of FITS, particularly FITS date keywords, is assumed.

### Etymology

This is a collection of static utility functions for creating and interpreting FITS date keywords (e.g. DATE-OBS).

### Synopsis

Its never necessary to construct a FITSDateUtil, just use the static functions to help handle FITS dates.

### Motivation

The strings that make up the value of FITS dates have a precise format. This class encompasses knowlege of the formats used and hopefully simplifies their creation and conversion to and from Casacore MVTimes.

Definition at line 70 of file FITSDateUtil.h.

## Member Enumeration Documentation

## DateStyle

enum casacore::FITSDateUtil::DateStyle

Enumerator
OLD | dd/mm/yy
NEW_DATEONLY | yyyy-mm-dd
NEW_DATEANDTIME | yyyy-mm-ddThh:mm:ss[.ss...]
AUTO_PICK | OLD if the current year is before 1998 AND "time" is before 1998, otherwise NEW_DATEANDTIME.

Definition at line 73 of file FITSDateUtil.h.

## Member Function Documentation

## convertDateString()

Bool casacore::FITSDateUtil::convertDateString | ( | String & | out,
|  | const String & | in )

static

Convert a FITS Date string to the current format.

If the "in" format is already correct it is just copied through.

## findPrecision()

uInt casacore::FITSDateUtil::findPrecision | ( | const String & | fitsDate | ) |

static

Determine the precision in a FITS date string.

Old style dates or no time returns 0, New style + time returns 6 + the number of decimal points, i.e. if we have a time at all we assume it is at least accurate to the second level. The result of this can be used in the call to toFITS, i.e. it has the same meaning.

This is mostly meant to be a helper function for convertDateString, but it may be called by anyone.

## fromFITS()

Bool casacore::FITSDateUtil::fromFITS | ( | MVTime & | time,
|  | MEpoch::Types & | system,
|  | const String & | date,
|  | const String & | timesys )

static

Convert a FITS date string and TIMESYS keyword value into an MVTime and system.

Returns False if it can't decode date and timesys. It tries to convert as much as possible, for example if it can't decode timesys it still attempts to decode the time. It sets the date to Jan 1/1900 if it can't decode the time, and UTC if it can't decode timesys. If timesys is the empty string then UTC is assumed.

References casacore::date(), and casacore::time().

## toFITS()

void casacore::FITSDateUtil::toFITS | ( | String & | date,
|  | String & | timesys,
|  | const MVTime & | time,
|  | MEpoch::Types | system = MEpoch::UTC,
|  | DateStyle | style = AUTO_PICK,
|  | uInt | precision = 12 )

static

Convert an MVTime to a FITS date string and timesys string.

The time system must also be supplied. Precision is only used when the time as well as the date is used (NEW_DATEANDTIME or AUTO_PICK). The default (16) gives 10^(-10) second accuracy, 6 gives second level accuracy. Default is 10^(-6)s (1 micro-s) accuracy. 0 means date only, no time (equivalent to NEW_DATEONLY).

References AUTO_PICK, casacore::date(), casacore::time(), and casacore::MEpoch::UTC.

The documentation for this class was generated from the following file:

- fits/FITS/FITSDateUtil.h