edu.pdx.starview.calc
Class KSSkyPoint

java.lang.Object
  extended byedu.pdx.starview.calc.KSSkyPoint

public class KSSkyPoint
extends java.lang.Object

General Note:Many of these methods are indipendant statics so that they can easily be integrated with JUnit tests and can be used for calculators or other convienence tools of an application.

Author:
Dave Camarillo, Jason Harris

Constructor Summary
KSSkyPoint(SVAngle r, SVAngle d)
          Default constructor: Sets RA, Dec and RA0, Dec0 according to arguments.
KSSkyPoint(SVStar star)
          Constructor from an existing SVStar object.
 
Method Summary
static void aberrate(KSNumbers num, SVAngle inRA, SVAngle inDec, SVAngle outRA, SVAngle outDec, boolean addAbberation)
          Determine the effects of aberration for this SkyPoint.
static void addEterms(SVAngle RA, SVAngle Dec)
          Coordinates in the FK4 catalog include the effect of aberration due to the ellipticity of the orbit of the Earth.
 void apparentCoord(double jd0, double jdf)
          Computes the apparent coordinates for this SkyPoint for any epoch, accounting for the effects of precession, nutation, and aberration.
static void B1950ToJ2000(SVAngle RA, SVAngle Dec)
          Exact precession from Besselian epoch 1950 to epoch J2000.
 SVAngle dec()
           
static SVRADec Eterms(SVAngle inRA, SVAngle inDec)
          Determine the E-terms of aberration In the past, the mean places of stars published in catalogs included the contribution to the aberration due to the ellipticity of the orbit of the Earth.
static void findEcliptic(SVAngle Obliquity, SVAngle EcLong, SVAngle EcLat, SVAngle RA, SVAngle Dec)
          Determine the Ecliptic coordinates of the SkyPoint, given the Julian Date.
static SVAzAlt fixAtmosphericRefraction(SVAzAlt azAlt)
          Takes the true altitude of an object, and returns the altitude/azimuth compensated for atmospheric refraction.
static void J2000ToB1950(SVAngle RA, SVAngle Dec)
          Exact precession from epoch J2000 Besselian epoch 1950.
static void nutate(KSNumbers num, SVAngle inRA, SVAngle inDec, SVAngle outRA, SVAngle outDec)
          Determine the effects of nutation for this SkyPoint.
static void precessFromAnyEpoch(double jd0, double jdf, SVAngle RA0, SVAngle Dec0, SVAngle RA, SVAngle Dec)
          General case of precession.
 SVAngle ra()
           
 void set(SVAngle r, SVAngle d)
          Sets RA, Dec and RA0, Dec0 according to arguments.
static void setFromEcliptic(SVAngle Obliquity, SVAngle EcLong, SVAngle EcLat, SVAngle outRA, SVAngle outDec)
          Set the current (RA, Dec) coordinates of the SkyPoint, given pointers to its Ecliptic (Long, Lat) coordinates, and to the current obliquity angle (the angle between the equator and ecliptic).
static void subtractEterms(SVAngle RA, SVAngle Dec)
          Coordinates in the FK4 catalog include the effect of aberration due to the ellipticity of the orbit of the Earth.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

KSSkyPoint

public KSSkyPoint(SVStar star)
Constructor from an existing SVStar object.

Parameters:
star -

KSSkyPoint

public KSSkyPoint(SVAngle r,
                  SVAngle d)
Default constructor: Sets RA, Dec and RA0, Dec0 according to arguments. Does not set Altitude or Azimuth.

Parameters:
r - Right Ascension
d - Declination
Method Detail

set

public void set(SVAngle r,
                SVAngle d)
Sets RA, Dec and RA0, Dec0 according to arguments.

Parameters:
r - Right Ascension
d - Declination

findEcliptic

public static void findEcliptic(SVAngle Obliquity,
                                SVAngle EcLong,
                                SVAngle EcLat,
                                SVAngle RA,
                                SVAngle Dec)
Determine the Ecliptic coordinates of the SkyPoint, given the Julian Date. The ecliptic coordinates are returned as reference arguments (since they are not stored internally)


ra

public SVAngle ra()

dec

public SVAngle dec()
Returns:
a pointer to the current Declination.

setFromEcliptic

public static void setFromEcliptic(SVAngle Obliquity,
                                   SVAngle EcLong,
                                   SVAngle EcLat,
                                   SVAngle outRA,
                                   SVAngle outDec)
Set the current (RA, Dec) coordinates of the SkyPoint, given pointers to its Ecliptic (Long, Lat) coordinates, and to the current obliquity angle (the angle between the equator and ecliptic).

Parameters:
Obliquity -
EcLong -
EcLat -
outRA -
outDec -

apparentCoord

public void apparentCoord(double jd0,
                          double jdf)
                   throws java.lang.Exception
Computes the apparent coordinates for this SkyPoint for any epoch, accounting for the effects of precession, nutation, and aberration. Similar to updateCoords(), but the starting epoch need not be J2000, and the target epoch need not be the present time.

Parameters:
jd0 - Julian Day which identifies the original epoch
jdf - Julian Day which identifies the final epoch
Throws:
java.lang.Exception

nutate

public static void nutate(KSNumbers num,
                          SVAngle inRA,
                          SVAngle inDec,
                          SVAngle outRA,
                          SVAngle outDec)
Determine the effects of nutation for this SkyPoint.

Parameters:
num - pointer to KSNumbers object containing current values of time-dependent variables.

aberrate

public static void aberrate(KSNumbers num,
                            SVAngle inRA,
                            SVAngle inDec,
                            SVAngle outRA,
                            SVAngle outDec,
                            boolean addAbberation)
Determine the effects of aberration for this SkyPoint.

Parameters:
num - pointer to KSNumbers object containing current values of time-dependent variables.

fixAtmosphericRefraction

public static SVAzAlt fixAtmosphericRefraction(SVAzAlt azAlt)
Takes the true altitude of an object, and returns the altitude/azimuth compensated for atmospheric refraction.

Returns:
The apparent altitude in radians

precessFromAnyEpoch

public static void precessFromAnyEpoch(double jd0,
                                       double jdf,
                                       SVAngle RA0,
                                       SVAngle Dec0,
                                       SVAngle RA,
                                       SVAngle Dec)
                                throws java.lang.Exception
General case of precession. It precess from an original epoch to a final epoch. In this case RA0, and Dec0 from SkyPoint object represent the coordinates for the original epoch and not for J2000, as usual.

Parameters:
jd0 - Julian Day which identifies the original epoch
jdf - Julian Day which identifies the final epoch
Throws:
java.lang.Exception

Eterms

public static SVRADec Eterms(SVAngle inRA,
                             SVAngle inDec)
                      throws java.lang.Exception
Determine the E-terms of aberration In the past, the mean places of stars published in catalogs included the contribution to the aberration due to the ellipticity of the orbit of the Earth. These terms, known as E-terms were almost constant, and in the newer catalogs (FK5) are not included. Therefore to convert from FK4 to FK5 one has to compute these E-terms.

Parameters:
inRA -
inDec -
Returns:
Throws:
java.lang.Exception

B1950ToJ2000

public static void B1950ToJ2000(SVAngle RA,
                                SVAngle Dec)
                         throws java.lang.Exception
Exact precession from Besselian epoch 1950 to epoch J2000. The coordinates referred to the first epoch are in the FK4 catalog, while the latter are in the Fk5 one. Reference: Smith, C. A.; Kaplan, G. H.; Hughes, J. A.; Seidelmann, P. K.; Yallop, B. D.; Hohenkerk, C. Y. Astronomical Journal, vol. 97, Jan. 1989, p. 265-279 This transformation requires 4 steps: - Correct E-terms - Precess from B1950 to 1984, January 1st, 0h, using Newcomb expressions - Add zero point correction in right ascension for 1984 - Precess from 1984, January 1st, 0h to J2000

Parameters:
RA -
Dec -
Throws:
java.lang.Exception

J2000ToB1950

public static void J2000ToB1950(SVAngle RA,
                                SVAngle Dec)
                         throws java.lang.Exception
Exact precession from epoch J2000 Besselian epoch 1950. The coordinates referred to the first epoch are in the FK4 catalog, while the latter are in the Fk5 one. Reference: Smith, C. A.; Kaplan, G. H.; Hughes, J. A.; Seidelmann, P. K.; Yallop, B. D.; Hohenkerk, C. Y. Astronomical Journal, vol. 97, Jan. 1989, p. 265-279 This transformation requires 4 steps: - Precess from J2000 to 1984, January 1st, 0h - Add zero point correction in right ascension for 1984 - Precess from 1984, January 1st, 0h, to B1950 using Newcomb expressions - Correct E-terms

Parameters:
RA -
Dec -
Throws:
java.lang.Exception

addEterms

public static void addEterms(SVAngle RA,
                             SVAngle Dec)
                      throws java.lang.Exception
Coordinates in the FK4 catalog include the effect of aberration due to the ellipticity of the orbit of the Earth. Coordinates in the FK5 catalog do not include these terms. In order to convert from B1950 (FK4) to actual mean places one has to use this function.

Parameters:
RA -
Dec -
Throws:
java.lang.Exception

subtractEterms

public static void subtractEterms(SVAngle RA,
                                  SVAngle Dec)
                           throws java.lang.Exception
Coordinates in the FK4 catalog include the effect of aberration due to the ellipticity of the orbit of the Earth. Coordinates in the FK5 catalog do not include these terms. In order to convert from FK5 coordinates to B1950 (FK4) one has to use this function.

Parameters:
RA -
Dec -
Throws:
java.lang.Exception