;+ ; NAME: ; SRVDOPP ; ; AUTHOR: ; Craig B. Markwardt, NASA/GSFC Code 662, Greenbelt, MD 20770 ; craigm@lheamail.gsfc.nasa.gov ; UPDATED VERSIONs can be found on my WEB PAGE: ; http://cow.physics.wisc.edu/~craigm/idl/idl.html ; ; PURPOSE: ; Compute relativistic doppler shift (arbitrary velocity & photon dir.) ; ; MAJOR TOPICS: ; Physics, Geometry ; ; CALLING SEQUENCE: ; NU1_NU0 = SRVDOPP(U0, V) ; ; DESCRIPTION: ; ; The function SRVDOPP computes the relativistic doppler shift ; between two inertial reference frames. ; ; Consider two inertial coordinate frames. Frame "0" is a "lab" or ; rest frame. Frame "1" is a "rocket" or moving frame, moving at ; velocity V with respect to the lab frame. The velocity V is ; allowed to be an arbitrary 3-vector. ; ; * An observer in the lab frame sees a photon of frequency NU0 ; propagating in the direction U0. (U0 is a unit 3-vector) ; ; * An observer in the rocket frame observes the same photon with ; frequency NU1. ; ; * This function computes the ratio NU1 / NU0. ; ; U0 and V are allowed to be 3xN arrays, which means more than one ; set of values can be computed in a single call. If the dimensions ; of either U0 or V are 3x1, then it will be expanded to match the ; dimensions of the other vector. ; ; NOTE: Velocities passed to SRVDOPP are measured as a *fraction of ; the speed of light*. ; ; The formula for computing the relativistic doppler shift is: ; ; NU1_NU0 = (1 - U0 . V) * GAMMA ; ; where ; GAMMA is the Lorentz factor = 1/SQRT(1 - |V|^2) ; "." is the vector dot product ; ; [ IDL notation is not strictly adhered to in this formula, for ; clarity of presentation. ] ; ; ; INPUTS: ; ; U0 - 3-vector or 3xN array, the unit vector of the photon ; propagation direction, as seen in the lab frame. ; ; V - 3-vector or 3xN array, the velocity of the rocket frame as ; seen by an observer in the lab. The velocity is normalized ; such that the speed of light is 1. ; ; RETURNS: ; ; A N-vector giving the ratio, NU1/NU0, which is the ratio of the ; frequency observed in the rocket frame to the frequency seen in ; the lab frame. ; ; KEYWORD PARAMETERS: ; ; CLASSICAL - if set, then classical Doppler shift is performed, ; and the relativistic form is disabled. ; Default: not set (i.e., relativity is applied) ; ; EXAMPLE: ; ; IDL> RATIO = SRVDOPP([-1d,0,0], [0.1d,0,0]) ; ; A photon of frequency NU0 is moving along the -x axis in the lab ; frame; a rocket observer is moving with speed 0.1 c along the +x ; axis. NU0 * RATIO is the frequency seen by the rocket observer. ; ; ; IDL> RATIO = SRVDOPP([0,-1d,0], [0.1,0,0]) ; ; The observer is the same, but the photon is moving along the -y ; axis. NU0 * RATIO is the frequency seen by the rocket observer. ; This is the relativistic transverse doppler shift. ; ; ; MODIFICATION HISTORY: ; Written, 05 May 2002, CM ; Documentation, 12 May 2002, CM ; Add CLASSICAL keyword, 29 Jul 2002, CM ; ; $Id: srvdopp.pro,v 1.3 2002/07/29 23:16:47 craigm Exp $ ; ;- ; Copyright (C) 2002, Craig Markwardt ; This software is provided as is without any warranty whatsoever. ; Permission to use, copy, modify, and distribute modified or ; unmodified copies is granted, provided this copyright and disclaimer ; are included unchanged. ;-