!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! Copyright 2011 California Institute of Technology !!! !!! shift_reference.class !!! !!! 2011-05-16 version 1.0 Initial release !!! 2011-06-03 version 1.1 Copyright notice; use case; no write if no argument !!! !!! @shift_reference [ new_restf(MHz) ] !!! !!! Shifts reference channel and frequency. !!! !!! Use case: You have observed two or more lines simultaneously by doppler- !!! tracking one of them. The spectrometer was *centered* at the same line. !!! Now you want scans *centered* at one of other lines in the signal sideband. !!! To *center* at one of lines in the image sideband, use the procedure !!! swap_sideband.class. !!! !!! file in ... !!! file out ... !!! find ... !!! set variable spectro write !!! for i 1 to found !!! get next !!! @shift_reference 220398.6765 !!! write !!! next !!! !!! C18O (J=2-1) 219560.3568 MHz !!! 13CO (J=2-1) 220398.6765 MHz !!! 12CO (J=2-1) 230538.0000 MHz sic\let clight = 2.99792458e5 /new double ! Speed of light (km/s) sic\let new_restf = restf /new double sic\let new_image = image /new double sic\let new_rchan = rchan /new real sic\let new_fres = fres /new real ! No change (topocentric!!!) sic\let new_vres = vres /new real sic\if ("&1 ".ne." ") then sic\let new_restf = &1 sic\let new_image = (restf+image)-new_restf sic\let new_rchan = rchan+(new_restf-restf)*(1+doppler)/new_fres sic\let new_vres = -clight*new_fres/((1+doppler)*new_restf) sic\let restf = new_restf sic\let image = new_image sic\let rchan = new_rchan sic\let fres = new_fres sic\let vres = new_vres sic\end if