1 / 9

Coordinate Transformations

Coordinate Transformations. 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). TM, A. Tamburro.

kevyn
Download Presentation

Coordinate Transformations

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Coordinate Transformations 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). TM, A. Tamburro

  2. y = N y’ = N f f’ x = E x’ = E From AMANDA to SLALIB AMANDA (x,y,z) = (E, N, up)  SLALIB (x’,y’,z’) = (E,N,up) f’ = p/2 – f if (f’ <0) f’= f’ + 2p vz Also cos directors can be used: the unit vector pointing in the direction of travel tanf = vy/vx and cosq = vz. In AMANDA convention: vx = -cosf sinq vy = -sinf sinq  SLALIB (vx,vy,vz)  (-vy,-vx,-vz) vz = -cosq > 0 for upgoing <0 for downgoing

  3. From local to astrophysical Elevation = h = p/2-q altazimutal ref system to ‘local’ equatorial (LH systems) Slalib::sla_dh2e(ang_azimuth,elevation,detector_latitude,H,declination); Ψ detector latitude = -p/2 Hour angle: 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 g = 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 g 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 vMean M needs to be inverted and multiplied by vreal Validated against Duffet-Smith

  6. Comparison Mike’s transformations • Low precision method • Difference from Duffet-Smith between 1) low precision and 2) rigorous methods: • a = 137.679167º d = 14.390278 at 1950.0 in a=138.083333º d = 14.268842º at 1979.5 • a = 137.679167º d = 14.390278 at 1950.0 in a=138.083999º d = 14.268792º at 1979.5 • Da = 6.7e-4º Dd = 5e-5º • But can vary depending on the epochs. • Test: GMST = 5.66611hrs (apparent) q = 55.8857ºf = 16.2570 º • RA 158.735 º • Dec -34.114 º Mike • RA J2000 = 158.796 º 158.738º • Dec J2000= -34.142 º -34.114º • DRA = 0.058º Dd = 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));

More Related