clight_c |
Table of contents
Procedureclight_c ( C, Speed of light in a vacuum ) SpiceDouble clight_c ( void ) AbstractReturn the speed of light in a vacuum (IAU official value, in km/sec). Required_ReadingNone. KeywordsCONSTANTS Brief_I/OThe function returns the speed of light in vacuum (km/sec). Detailed_InputNone. Detailed_OutputThe function returns the IAU official value for the speed of light in vacuum: 299792.458 km/sec. ParametersNone. ExceptionsError free. FilesNone. ParticularsThe function always returns the constant value shown above. ExamplesThe numerical results shown for these examples may differ across platforms. The results depend on the SPICE kernels used as input, the compiler and supporting libraries, and the machine specific arithmetic implementation. 1) Display the IAU official double precision value for the constant speed of light in the vacuum, in km/sec. Example code begins here. /. Program clight_ex1 ./ #include <stdio.h> #include "SpiceUsr.h" int main( ) { /. Display the value for the constant speed of light in the vacuum. ./ printf ( "Speed of light: %12.4f\n", clight_c( ) ); return ( 0 ); } When this program was executed on a Mac/Intel/cc/64-bit platform, the output was: Speed of light: 299792.4580 2) The following example uses clight_c to determine the one-way light-time (tau) to Mars whose geometric position relative to the Earth is available. Use the SPK kernel below to load the required ephemerides for Mars and the Earth. de405.bsp Example code begins here. /. Program clight_ex2 ./ #include <stdio.h> #include "SpiceUsr.h" int main( ) { /. Local constants ./ #define ET 0.0 /. Local variables ./ SpiceDouble lt; SpiceDouble pos [ 3 ]; SpiceDouble tau; /. Load the SPK file. ./ furnsh_c ( "de405.bsp" ); /. Obtain the geometric position of Mars relative to the Earth at the given ET, in J2000 frame. ./ spkpos_c ( "MARS", ET, "J2000", "NONE", "EARTH", pos, < ); /. Compute the one-way light time using clight_c ./ tau = vnorm_c ( pos ) / clight_c ( ); /. Display the one-way light time values obtained from spkpos_c and using clight_c. ./ printf ( "One-way light time (spkpos_c): %16.9f\n", lt ); printf ( "One-way light time (clight_c): %16.9f\n", tau ); return ( 0 ); } When this program was executed on a Mac/Intel/cc/64-bit platform, the output was: One-way light time (spkpos_c): 922.961207764 One-way light time (clight_c): 922.961207764 Note that the following SPK readers spkezr_c spkez_c spkpos_c spkezp_c return the one-way light time as an output. RestrictionsNone. Literature_ReferencesNone. Author_and_InstitutionN.J. Bachman (JPL) J. Diaz del Rio (ODC Space) E.D. Wright (JPL) Version-CSPICE Version 1.0.3, 13-AUG-2021 (JDR) Edited the header to comply with NAIF standard. Added complete code example. -CSPICE Version 1.0.2, 07-FEB-2008 (EDW) (NJB) Corrected typos in header titles: Detailed Input to -Detailed_Input Detailed Output to -Detailed_Output Updated example to show pointer output argument `tau' and list other high-level SPK routines that return light time. Call to bodmat_c was removed from example. -CSPICE Version 1.0.1, 11-NOV-2006 (EDW) Added -Parameters section header. -CSPICE Version 1.0.0, 16-APR-1999 (EDW) Index_Entriesmeasured velocity of light in a vacuum |
Fri Dec 31 18:41:03 2021