USGS

Isis 3.0 Application Source Code Reference

Home

SpkKernelWriter.cpp

Go to the documentation of this file.
00001 /**                                                                       
00002  * @file                                                                  
00003  * $Revision: 2499 $
00004  * $Date: 2011-05-23 14:44:14 -0700 (Mon, 23 May 2011) $
00005  * $Id: SpkKernelWriter.cpp 2499 2011-05-23 21:44:14Z kbecker@GS.DOI.NET $
00006  * 
00007  *   Unless noted otherwise, the portions of Isis written by the USGS are 
00008  *   public domain. See individual third-party library and package descriptions 
00009  *   for intellectual property information, user agreements, and related  
00010  *   information.                                                         
00011  *                                                                        
00012  *   Although Isis has been used by the USGS, no warranty, expressed or   
00013  *   implied, is made by the USGS as to the accuracy and functioning of such 
00014  *   software and related material nor shall the fact of distribution     
00015  *   constitute any such warranty, and no responsibility is assumed by the
00016  *   USGS in connection therewith.                                        
00017  *                                                                        
00018  *   For additional information, launch                                   
00019  *   $ISISROOT/doc//documents/Disclaimers/Disclaimers.html                
00020  *   in a browser or see the Privacy & Disclaimers page on the Isis website,
00021  *   http://isis.astrogeology.usgs.gov, and the USGS privacy and disclaimers on
00022  *   http://www.usgs.gov/privacy.html.                                    
00023  */
00024 #include <string>
00025 #include <vector>
00026 #include <iostream>
00027 #include <iomanip>
00028 #include <sstream>
00029 
00030 #include "Application.h"
00031 #include "SpkKernelWriter.h"
00032 #include "Pvl.h"
00033 #include "iString.h"
00034 #include "iException.h"
00035 
00036 #include "NaifStatus.h"
00037 
00038 using namespace std;
00039 
00040 namespace Isis {
00041 
00042   /**
00043    * @brief Provide general comments for an SPK kernel header
00044    * 
00045    * 
00046    * @return std::string Comment generated for SPK SPICE kernel header 
00047    *  
00048    * @internal 
00049    * @history 2012-05-23 Kris Becker Added creation of special tag to ID the 
00050    *                                 kernel as needing special light time and
00051    *                                 stellar aberration correction in spiceinit
00052    */
00053   std::string SpkKernelWriter::k_header() const {
00054     ostringstream comment;
00055     comment << "\
00056  ****************************************************************************\n\
00057    USGS ISIS (spkwriter) Generated SPK Kernel\n\
00058    Created By:   " << Application::UserName() << "\n\
00059    Date Created: " << Application::DateTime() << "\n\
00060  ****************************************************************************\n\
00061  \n\
00062  \n\
00063  Position Data in the File\n\
00064  -----------------------------------------------------------------------\n\
00065  \n\
00066        This file contains time ordered array of geometric states \n\
00067        (kilometers) and rates of change (kilometers/second) of body\n\
00068        relative to center, specified relative to frame.\n\
00069  \n\
00070  \n\
00071  Status\n\
00072  -----------------------------------------------------------------------\n\
00073  \n\
00074        This kernel was generated for the purposes of storing C-Smithed\n\
00075        position updates that may have been generated from ISIS processing\n\
00076        techniques (controlled imaging, jitter analysis, etc...).  These\n\
00077        SPK kernels are intended to mimick SPKs provided by individual\n\
00078        missions (or NAV teams).\n\
00079  \n\
00080  \n\
00081  Pedigree\n\
00082  -----------------------------------------------------------------------\n\
00083  \n\
00084        This file was generated by an automated process.  The ISIS\n\
00085        application spkwriter was used to read SPK kernel data\n\
00086        contained within an ISIS cube file.  It then writes it as an\n\
00087        individual segment in the SPK.  Hence, a list of files can be\n\
00088        written to a single SPK kernel.  However, mixing the instruments\n\
00089        contained in a single SPK kernel is discouraged.\n\
00090  \n\
00091  \n\
00092  Angular Rates\n\
00093  -----------------------------------------------------------------------\n\
00094  \n\
00095        This kernel typically contains state vectors of rates of change\n\
00096        as a function of time but may only contain position vectors.  The\n\
00097        ephemeris given is for the body moving relative to the center of\n\
00098        motion.\n\
00099  \n\
00100  \n\
00101  Usage Note\n\
00102  -----------------------------------------------------------------------\n\
00103  \n\
00104        To make use of this file in a typical SPICE based application,\n\
00105        users must supply at least a leapseconds kernel. This file is\n\
00106        necessary for time-based conversions.  They should be the same\n\
00107        kernels that were originally used to initialize the image.\n\
00108  \n\
00109        Segments in this file are actually individual ISIS files where the\n\
00110        internally cached SPICE data is extracted and transformed into the\n\
00111        appropriate content to satisfy NAIF\'s SPICE kernel storage\n\
00112        requirements.\n\
00113  \n\
00114        Note that ISIS defaults to applying light time and stellar\n\
00115        abberation correction when computing positions relative to s/c and\n\
00116        target body.  Currently, this correction should not be utilized\n\
00117        for kernels created by the spkwriter application.  Therefore the\n\
00118        computation correcting for light time/stellar abberation is turned\n\
00119        off. It should be noted that this option applies to all files\n\
00120        contained herein.  (ID:USGS_SPK_ABCORR=NONE)\n\
00121  \n\
00122         The contents of this kernel are summarized below.\n\
00123  \n\
00124  \n\
00125  Segment (by file) Summary\n\
00126  -----------------------------------------------------------------------\n\
00127  \n\
00128        The follow sections describe each segment in this SPK kernel.  Each\n\
00129        segment is a file in the input list.  When running ISIS spiceinit,\n\
00130        the kernels listed for each file should be supplied to ensure proper\n\
00131        geometry can be reproduced accurately.\n\
00132  \n";
00133 
00134     return (string(comment.str()));
00135  }
00136 
00137 
00138 
00139 
00140 };  // namespace Isis
00141 
00142