The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Astro::Coords::Fixed - Manipulate coordinates that are fixed on the sky

SYNOPSIS

  $c = new Astro::Coords::Fixed( az => 180,
                                 el => 45,
                                 units => 'degrees');

  $c = new Astro::Coords::Fixed( ha => '02:30:00.0',
                                 dec => '45:30:03',
                                 units => 'sexagesimal',
                                 tel => $telescope,
                               );

DESCRIPTION

This subclass of Astro::Coords allows for the manipulation of coordinates that are fixed on the sky. Sometimes a telescope should be commanded to go to a fixed location (eg for a calibration) and this class puts those coordinates (Azimuth and elevation for telescopes such as JCMT and Gemini and Hour Angle and Declination for equatorial telescopes such as UKIRT) on the same footing as astronomical coordinates.

Note that Azimuth and elevation do not require the telescope latitude whereas Hour Angle and declination does.

METHODS

Constructor

new

Constructor. Recognizes hash keys "ha", "dec" and "az", "el".

  $c = new Astro::Coords::Fixed( az => 35, el => 30 );

  $c = new Astro::Coords::Fixed( ha => $ha, dec => $dec, tel => $tel);

Usually called via Astro::Coords rather than directly.

Note that the declination is equivalent to "Apparent Dec" used elsewhere in these classes.

Azimuth and Elevation is the internal format. Currently there is no caching (so there is always overhead converting to apparent RA and Dec) since there is no cache flushing when the telescope is changed.

A telescope is required (in the form of an Astro::Telescope object) if the position is specified as HA/Dec.

A reference to a 2-element array can be given to specify different units for the two coordinates, e.g. ['hours', 'degrees'].

A name can be associated with this position.

Accessor Methods

azel

Return azimuth and elevation (as two Astro::Coords::Angle objects);

 ($az, $el) = $c->azel;

Can also be used to store the azimuth and elevation (as Astro::Coords::Angle objects)

  $c->_azel( $az, $el);

General Methods

type

Returns the generic type associated with the coordinate system. For this class the answer is always "FIXED".

This is used to aid construction of summary tables when using mixed coordinates.

stringify

Returns a string representation of the object. Returns Azimth and Elevation in degrees.

summary

Return a one line summary of the coordinates. In the future will accept arguments to control output.

  $summary = $c->summary();
array

Array summarizing the object. Retuns Return back 11 element array with first 3 elements being the coordinate type (FIXED) and the az/el coordinates (radians).

This method returns a standardised set of elements across all types of coordinates.

ha

Get the hour angle for the currently stored LST. By default returns format as for other angular methods.

  $ha = $c->ha;
  $ha = $c->ha( format => "deg" );
apparent

Return the apparent RA and Dec (as two Astro::Coords::Angle objects) for the current time [note that the apparent declination is fixed and the apparent RA changes].

If no telescope is present the equator is used.

hadec

Return the Hour angle and apparent declination (as two Astro::Coords::Angle objects). If no telescope is present the equator is used.

 ($ha, $dec) = $c->hadec;
ha_set

For a fixed source, the setting Hour Angle has no meaning.

meridian_time

Meridian time is not defined for a fixed source.

transit_el

Transit elevation is not defined for a fixed source. Always returns undef.

apply_offset

Overrided method to prevent Astro::Coords::apply_offset being called on this subclass.

NOTES

Usually called via Astro::Coords.

REQUIREMENTS

Astro::PAL is used for all internal astrometric calculations.

AUTHOR

Tim Jenness <tjenness@cpan.org>

COPYRIGHT

Copyright (C) 2001-2005 Particle Physics and Astronomy Research Council. All Rights Reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place,Suite 330, Boston, MA 02111-1307, USA