Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages | Examples

SequentialFilterHistory.h

Go to the documentation of this file.
00001 
00002 //////////////////////////////////////////////////////////////////////////////////////////////////
00003 /*! \file       SequentialFilterHistory.h
00004  *  \brief      An abstract class to store generic sequential filter data.
00005  *  \author     $Author: cakinli $
00006  *  \version $Revision: 1.7 $
00007  *  \date    $Date: 2005/03/16 18:08:13 $
00008 *//////////////////////////////////////////////////////////////////////////////////////////////////
00009 /*  
00010 */
00011 //////////////////////////////////////////////////////////////////////////////////////////////////
00012 
00013 #ifndef __SSSL_SEQUENTIALFILTER_HISTORY_H__
00014 #define __SSSL_SEQUENTIALFILTER_HISTORY_H__
00015 
00016 #include <matrix/Matrix.h>
00017 #include <datahandling/History.h>
00018 #include "utils/Time.h"
00019 #include <Filtering/SequentialFilter.h>
00020 #include <vector>
00021 using namespace std;
00022 using namespace O_SESSAME;
00023 
00024 /*! \brief An abstract class to store generic sequential filter data. */
00025 class SequentialFilterHistory : public History
00026 {
00027 public:
00028         // DESTRUCTOR (no constructor)
00029         /*! Default destructor. */
00030     virtual ~SequentialFilterHistory() {};
00031     
00032         // OPERATORS
00033         virtual void AppendHistory(const double& _appendTime);
00034     virtual void AppendHistory(const ssfTime& _appendTime);
00035     
00036     virtual void ResetHistory();
00037 
00038     // INSPECTORS
00039     virtual Matrix GetHistory();
00040         virtual void GetKalmanHistory(Matrix&, Matrix&) = 0;
00041         virtual Vector GetIterationHistory() { Vector temp(0); return temp; };
00042         
00043    // void GetState(const ssfTime& _requestedTime, sequentialFilterData& _returnSequentialStruct);
00044 
00045 protected:
00046         // A PSEUDO-CONSTRUCTOR
00047         void InitializeSequentialFilterHistory(SequentialFilter* _ptr_filter);  
00048 
00049         /*! @brief Pointer to the filter that the history is logging.
00050          * Note that because this is a pointer to a base class it can be used to
00051          * point to an instance of any derived class. */
00052         SequentialFilter* m_ptr_filter;
00053 
00054 private:
00055         /*! \brief Internal vector container of the state Vector, x. */
00056     vector<Vector> m_sfStateHistory;
00057         
00058         /*! \brief Internal vector container of the control Vector, u. */
00059         vector<Vector> m_sfControlHistory;
00060 
00061         /*! \brief Internal vector container of the measurement Vector, z. */
00062         vector<Vector> m_sfMeasurementHistory;
00063 
00064         /*! \brief Internal vector container of the parameter Vector, w. */
00065         vector<Vector> m_sfParameterHistory;
00066 
00067 
00068 };
00069 
00070 #endif
00071 
00072 
00073 // Do not change the comments below - they will be added automatically by CVS
00074 /*****************************************************************************
00075 *       $Log: SequentialFilterHistory.h,v $
00076 *       Revision 1.7  2005/03/16 18:08:13  cakinli
00077 *       *** empty log message ***
00078 *       
00079 *       Revision 1.6  2003/11/01 21:00:16  rsharo
00080 *       changed "Time.h" includes to "utils/Time.h" includes. Also eliminated excess compile warnings.
00081 *       
00082 *       Revision 1.5  2003/07/12 17:54:40  simpliciter
00083 *       Added IEKF and EKF Histories.
00084 *       
00085 *       Revision 1.4  2003/06/28 00:45:37  simpliciter
00086 *       Basic housekeeping.
00087 *       
00088 *       Revision 1.3  2003/06/27 01:53:56  simpliciter
00089 *       Fully commented and fully functional!
00090 *       GetState not implemented because it would require / desire
00091 *       iterpolations, which seems not in the spirit of logging the
00092 *       performance of a filter.
00093 *       
00094 *       Revision 1.2  2003/06/24 15:50:06  simpliciter
00095 *       Everything but the all important "GetHistory" command
00096 *       should work.  :)
00097 *       
00098 *       Revision 1.1  2003/06/12 20:47:23  simpliciter
00099 *       Previously IterativeFilterHistory.h
00100 *       
00101 *       Revision 1.0  2003/06/11 20:55:53  simpliciter
00102 *       Initial submission.
00103 *       
00104 *       
00105 *
00106 ******************************************************************************/

Generated on Wed Sep 5 12:54:25 2007 for DSACSS Operational Code by  doxygen 1.3.9.1