Download presentation
Presentation is loading. Please wait.
Published byReginald Jenkins Modified over 9 years ago
1
Coordinate Transformations TM, A. Tamburro Based on Slalib http://star-www.rl.ac.uk/star/ docs/sun67.htx/sun67.html Tested against MACRO algorithms and other coordinate trasformations in ANTARES that were based on sla_oap (reduntant since it includes corrections for optical telescopes).
2
From AMANDA to SLALIB AMANDA (x,y,z) = (E, N, up) SLALIB (x’,y’,z’) = (E,N,up) ’ = /2 – if ( ’ <0) ’ = ’ + 2 x = E y = N ’’ x’ = E y’ = N Also cos directors can be used: the unit vector pointing in the direction of travel tan = vy/vx and cos = vz. In AMANDA convention: vx = -cos sin vy = -sin sin SLALIB (vx,vy,vz) (-vy,-vx,-vz) vz = -cos for upgoing <0 for downgoing vz
3
From local to astrophysical Elevation = h = /2- altazimutal ref system to ‘local’ equatorial (LH systems) Slalib::sla_dh2e(ang_azimuth,elevation,detector_latitude,H,declination); Hour angle: Ψ detector latitude = - /2 The definition of RA allows to Get rid of the dependency on Earth rotation
4
Equatorial coordinates (RH) point: RA origin, intercept of equatorial plane + ecliptic (Sun curve on sphere) Need hour angle of point = Local Sidereal Time H = LST – RA [in 0-24 hrs] UTC related to motion of Sun as observed from Greenwich GMST = Greenwich Mean Sidereal Time related to star motion (any stars returns at the same place after 24 hrs) LST = GMST + detector_longitude in hrs (AMANDA = 0 thanks Mike!)
5
Precession and nutation position varies due to equinox precession (rotation of Earth axis in 25800 yrs due to Sun-Moon influence) Nutation: small periodic terms caused by varying distances and relative directions of Moon and Sun RA and Dec should be referred to a particular year e.g. J2000 sla_prenut: rigorous matrix method =calculates the combined precession matrix × nutation one The precession matrix M connects 'real' coordinates (at the time of detection) to mean ones (for an epoch, eg 2000) So to get v Mean M needs to be inverted and multiplied by v real Validated against Duffet-Smith
6
Comparison Mike’s transformations Low precision method Difference from Duffet-Smith between 1) low precision and 2) rigorous methods: = 137.679167º = 14.390278 at 1950.0 in =138.083333º = 14.268842º at 1979.5 = 137.679167º = 14.390278 at 1950.0 in =138.083999º = 14.268792º at 1979.5 = 6.7e-4º = 5e-5º But can vary depending on the epochs. Test: GMST = 5.66611hrs (apparent) = 55.8857º = 16.2570 º RA 158.735 º Dec -34.114 º Mike RA J2000 = 158.796 º 158.738º Dec J2000= -34.142 º -34.114º RA = 0.058º = 0.028º
7
Date: the class for times Uses sla_caldj to calculate from UT time (Gregorian Calendar Date that the user should refer to Greenwich) the modified julian date at 0hr (JD-2400000.5) Methods: Getters: double get_modified_julian(): modified julian date at UT double get_GMST(): Greenwich Mean Sidereal Time (The local sidereal time of the Greenwich Meridian) double get_TAI_correction(): provides International Atomic Time correction The user can use this methods to provide the times needed by Local_to_Equa to calculate astronomical coordinates starting from Calendar Date e.g.: double time = Date(2012,9,14,21,46,17).get_GMST(); double time_jd = Date(2012,9,14,21,46,17).get_modified_julian(); (is needed to calculate precession and nutation effects)
8
Local_to_Equa: equatorial and galactic coordinates Based on sla_dh2e. Returns starting from cosine vectors (vx,vy,vz) or (zenith,azimut) in the detector local reference frame (x,y,z) = (E, N, up) + times (GMST+MJD) Notice that vz >0 for upgoing events and zenith should be defined in the standard way (zenith = 0 and nadir = 180°) Internally there is a conversion to fit the Slalib system that is (x,y,z) = (N,E,up) Setters: void set_detection_time(double detection_time); void set_detection_time_jd(double detection_time_jd); void set_with_detector_coordinates( double ang_zenith, doubl$ void set_cosvectors_angles(double vx, double vy, double vz,double time, double time1) void set_with_equatorial_coordinates( double right_ascension, double declination) void set_with_galactical_coordinates( double gal_longitude, double gal_lattitude) Getters: double get_detection_time(): returns Greenwich Mean Sidereal Time void get_detector_defaults(double detector_longitude, double detector_latitude) void get_detector_coordinates_sla( double zenith, double azimuth) in Slalib system void get_equatorial_coordinates( double right_ascension, double declination) void get_galactical_coordinates( double gal_longitude, double gal_latitude)
9
Example double time = Date(2012,9,14,21,46,17).get_GMST(); double time_jd = Date(2012,9,14,21,46,17).get_modified_julian(); ( needed to calculate precession and nutation effects) Local_to_Equa localfunction; localfunction.set_detection_time(time); localfunction.set_detection_time_jd(time_jd); localfunction.set_cosvectors_angles(vx,vy,vz,time,time_jd); OR localfunction.set_with_detector_coordinates(ang_zenith (in rad), ang_azimuth (in rad), time, time_jd); localfunction.get_equatorial_coordinates(ra (in rad),dec (in rad)); localfunction.get_galactic_coordinates(lat (in rad),lon (in rad));
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.