casa::ObsInfo Class Reference
[Coordinates]

#include <ObsInfo.h>

Inheritance diagram for casa::ObsInfo:

Inheritance graph
[legend]
Collaboration diagram for casa::ObsInfo:

Collaboration graph
[legend]
List of all members.

Detailed Description

Store miscellaneous information related to an observation.

Intended use:

Part of API

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Synopsis

This class is used to record miscellaneous information about an observation. At present it contains the following:

  1. Telescope name
  2. Observer name
  3. Observation date
  4. Pointing centre (as distinct from the phase center or tangent point)
This list can easily be extended if necessary.

This class has functions to interconvert with a record in a "lossless" fashion, and to also interconvert between a record that contains a list of FITS keywords.

Example

The interface is a simple get/set interface. Note that the "set" methods can be chained together since each set method returns a reference to its object (rather like cout).

       ObsInfo oi;
       oi.setTelescope("VLA").setObserver("Glendenning");
       .\..
       cout << "The date observed is: " << oi.obsDate() << endl;

Motivation

Record information to allow more full measures conversion, e.g. topo->lsr requires observatory location and time. Also record in a typesafe way image summary information users are used to from classic AIPS.

To Do

Definition at line 96 of file ObsInfo.h.

Public Member Functions

 ObsInfo ()
 Default constructor makes an object where all the parameters are set to their default values (see below).
 ~ObsInfo ()
 Destructor.
Bool isPointingCenterInitial () const
 Because the default pointing center is a valid value (0,0), this function is available to tell you whether the pointing center has been set (with setPointingCenter) to some value other than its initial (return False).
 ObsInfo (const ObsInfo &other)
 Copy all fields from "other" to this object.
ObsInfooperator= (const ObsInfo &other)
String telescope () const
 Telescope identifier.
ObsInfosetTelescope (const String &telescope)
String observer () const
 The name (or initials) of the observer.
ObsInfosetObserver (const String &observer)
MEpoch obsDate () const
 When was the observation taken (start time)? This is somewhat problematical for observations which are taken at multiple epochs.
ObsInfosetObsDate (const MEpoch &obsDate)
MVDirection pointingCenter () const
 What was the pointing centre, as distinct from the phase centre ? This value is specified as an MVDirection.
ObsInfosetPointingCenter (const MVDirection &direction)
virtual Bool toRecord (String &error, RecordInterface &outRecord) const
 Functions to interconvert between an ObsInfo and a record.
virtual Bool fromRecord (String &error, const RecordInterface &inRecord)
 Initialise the class from a Record representation.
Bool toFITS (String &error, RecordInterface &outRecord) const
 Functions to interconvert between an ObsInfo and FITS keywords (converted to a Record).
Bool fromFITS (Vector< String > &error, const RecordInterface &inRecord)
Bool fromFITSOld (Vector< String > &error, const RecordInterface &inRecord)

Static Public Member Functions

static Vector< StringkeywordNamesFITS ()
 It might be useful to know what FITS keyword names are used in to/from FITS so we can remove them so they won't be used more than once.
static String defaultTelescope ()
 In some circumstances it might be useful to know what the defaults for the various values are so you can check if they have been set.
static String defaultObserver ()
static MEpoch defaultObsDate ()
static MVDirection defaultPointingCenter ()

Private Member Functions

void copy_other (const ObsInfo &other)
 False after setPointingCenter called.

Private Attributes

String telescope_p
String observer_p
MEpoch obsdate_p
MVDirection pointingCenter_p
Bool isPointingCenterInitial_p


Constructor & Destructor Documentation

casa::ObsInfo::ObsInfo (  ) 

Default constructor makes an object where all the parameters are set to their default values (see below).

casa::ObsInfo::~ObsInfo (  ) 

Destructor.

casa::ObsInfo::ObsInfo ( const ObsInfo other  ) 

Copy all fields from "other" to this object.

Uses copy semantics.


Member Function Documentation

ObsInfo& casa::ObsInfo::operator= ( const ObsInfo other  ) 

String casa::ObsInfo::telescope (  )  const

Telescope identifier.

If this is a "standard" telescope, you should use the same name as is available in the Observatories method of class MeasTable . Defaults to "UNKNOWN".

ObsInfo& casa::ObsInfo::setTelescope ( const String telescope  ) 

String casa::ObsInfo::observer (  )  const

The name (or initials) of the observer.

Defaults to "UNKNOWN".

ObsInfo& casa::ObsInfo::setObserver ( const String observer  ) 

MEpoch casa::ObsInfo::obsDate (  )  const

When was the observation taken (start time)? This is somewhat problematical for observations which are taken at multiple epochs.

You should use the start time of the first sample. The default is the MEpoch default: MJD 0 UTC

ObsInfo& casa::ObsInfo::setObsDate ( const MEpoch obsDate  ) 

MVDirection casa::ObsInfo::pointingCenter (  )  const

What was the pointing centre, as distinct from the phase centre ? This value is specified as an MVDirection.

This means it is you, the callers responsibility, to know what its reference type is in order to turn it into an MDirection. The default is (0,0) (or [1,0,0]). After you have called setPointingCenter, the function isPointingCenterInitial will return False.

ObsInfo& casa::ObsInfo::setPointingCenter ( const MVDirection direction  ) 

Bool casa::ObsInfo::isPointingCenterInitial (  )  const [inline]

Because the default pointing center is a valid value (0,0), this function is available to tell you whether the pointing center has been set (with setPointingCenter) to some value other than its initial (return False).

Definition at line 151 of file ObsInfo.h.

References isPointingCenterInitial_p.

virtual Bool casa::ObsInfo::toRecord ( String error,
RecordInterface outRecord 
) const [virtual]

Functions to interconvert between an ObsInfo and a record.

These functions are inherited from class RecordTransformable . As new fields get added to ObsInfo these functions should be augmented. Missing fields should not generate an error to in fromRecord to allow for backwards compatibility - null values should be supplied instead. The field names are "observer", "telescope", "obsdate", and "pointingcenter"

Implements casa::RecordTransformable.

virtual Bool casa::ObsInfo::fromRecord ( String error,
const RecordInterface inRecord 
) [virtual]

Initialise the class from a Record representation.

The input record should contain the fields that are required by the class. Other fields will be ignored. If the transformation succeeds then the error String is unchanged and the function returns True. Otherwise the function returns False and appends an error message to the supplied String giving the reason why the conversion failed.

Implements casa::RecordTransformable.

Bool casa::ObsInfo::toFITS ( String error,
RecordInterface outRecord 
) const

Functions to interconvert between an ObsInfo and FITS keywords (converted to a Record).

For the pointing center, the FITS keywords OBSRA and OBSDEC are used. Failure of fromFITS should probably not be regarded as fatal as the default ObsInfo values are viable. For each item contained in the ObsInfo, an attempt to decode it from FITS is made. If any of them fail, False is returned, but it attempts to decode them all. For those that fail an error message is held in error in the order telescope (error(0)), observer (error(1)), date (error(2)), pointing center (error(3)). error will be returned of length 0 if the return value is True, else it will be length 4.

Bool casa::ObsInfo::fromFITS ( Vector< String > &  error,
const RecordInterface inRecord 
)

Bool casa::ObsInfo::fromFITSOld ( Vector< String > &  error,
const RecordInterface inRecord 
)

static String casa::ObsInfo::defaultTelescope (  )  [static]

In some circumstances it might be useful to know what the defaults for the various values are so you can check if they have been set.

static String casa::ObsInfo::defaultObserver (  )  [static]

static MEpoch casa::ObsInfo::defaultObsDate (  )  [static]

static MVDirection casa::ObsInfo::defaultPointingCenter (  )  [static]

static Vector<String> casa::ObsInfo::keywordNamesFITS (  )  [static]

It might be useful to know what FITS keyword names are used in to/from FITS so we can remove them so they won't be used more than once.

The names are in lower case.

void casa::ObsInfo::copy_other ( const ObsInfo other  )  [private]

False after setPointingCenter called.

Common copy ctor/assignment operator code.


Member Data Documentation

String casa::ObsInfo::telescope_p [private]

Definition at line 201 of file ObsInfo.h.

String casa::ObsInfo::observer_p [private]

Definition at line 202 of file ObsInfo.h.

MEpoch casa::ObsInfo::obsdate_p [private]

Definition at line 203 of file ObsInfo.h.

MVDirection casa::ObsInfo::pointingCenter_p [private]

Definition at line 204 of file ObsInfo.h.

Bool casa::ObsInfo::isPointingCenterInitial_p [private]

Definition at line 205 of file ObsInfo.h.

Referenced by isPointingCenterInitial().


The documentation for this class was generated from the following file:
Generated on Mon Sep 1 22:46:30 2008 for NRAOCASA by  doxygen 1.5.1