Astro::Coords::Fixed - Manipulate coordinates that are fixed on the sky
$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,
);
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.
- 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.
- 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);
- 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.
Usually called via "Astro::Coords".
"Astro::PAL" is used for all internal
astrometric calculations.
Tim Jenness <tjenness@cpan.org>
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