Base_MatchingEngine.h

Go to the documentation of this file.
00001 //     Authors:
00002 // Anselmo Cervera, Juan J. Gomez-Cadenas and Jose Angel Hernando
00003 
00004 #ifndef MatchingEngine_h
00005 #define MatchingEngine_h 1
00006 
00007 //! ITrajectory
00008 #include "Kalman/Interface_ITrajectory.h"
00009 #include "Kalman/Base_Navigator.h"
00010 
00011 
00012 class MatchingEngine   
00013 {
00014 public:
00015       
00016   
00017   //! default constructor
00018   MatchingEngine(Navigator* nav) {m_navigator = nav;}
00019   
00020   //! default destructor
00021   virtual ~MatchingEngine(){};
00022 
00023 
00024   double matchTrajectories(const ITrajectory& traj1,
00025                const ITrajectory& traj2,
00026                EVector& res);
00027 
00028   
00029   double matchTrajectories(const ITrajectory& traj1,
00030                const ITrajectory& traj2){
00031     EVector res;
00032     return matchTrajectories(traj1, traj2, res);
00033   }
00034 
00035   double matchTrajectories(const ITrajectory& traj1,
00036                const ITrajectory& traj2,
00037                const EMatrix& H);
00038 
00039 
00040   double matchTrajectories(const ITrajectory& traj1,
00041                const ITrajectory& traj2,
00042                const ISurface& surf,
00043                EVector& res);
00044 
00045 
00046   double matchTrajectories(const ITrajectory& traj1,
00047                const ITrajectory& traj2,
00048                const ISurface& surf){
00049     EVector res;
00050     return matchTrajectories(traj1, traj2, surf, res);
00051   }
00052     
00053   double matchTrajectories(const ITrajectory& traj1,
00054                const ITrajectory& traj2,
00055                const ISurface& surf,
00056                const EMatrix& H){
00057     EVector res;
00058     return matchTrajectories(traj1, traj2, surf,H, res);
00059   }
00060 
00061   double matchTrajectories(const ITrajectory& traj1,
00062                const ITrajectory& traj2,
00063                const ISurface& surf,
00064                const EMatrix& H,
00065                EVector& res);
00066 
00067 
00068   double matchMeasTrajectory(const IMeasurement& meas, 
00069                  const ITrajectory& traj,
00070                  const EMatrix& H,
00071                  EVector& res);  
00072 
00073   double matchMeasTrajectory(const IMeasurement& meas, 
00074                  const ITrajectory& traj,
00075                  const EMatrix& H){
00076     EVector res;
00077     return matchMeasTrajectory(meas, traj, H, res);
00078   }
00079 
00080 
00081 
00082   double matchMeasTrajectory(const IMeasurement& meas, 
00083                  const ITrajectory& traj,
00084                  EVector& res);  
00085 
00086   double matchMeasTrajectory(const IMeasurement& meas, 
00087                  const ITrajectory& traj){
00088     EVector res;
00089     return matchMeasTrajectory(meas, traj, res);
00090   }
00091 
00092 
00093   double matchMeasState(const IMeasurement& meas, 
00094             const IState& state,
00095             const EMatrix& H,
00096             EVector& res);
00097 
00098 
00099   double matchMeasState(const IMeasurement& meas, 
00100             const IState& state,
00101             EVector& res);
00102 
00103   double matchMeasState(const IMeasurement& meas, 
00104             const IState& state){
00105     EVector res;
00106     return matchMeasState(meas, state, res);
00107   }
00108 
00109 
00110 
00111   double matchStateTrajectory(const IState& state, 
00112                   const ITrajectory& traj,
00113                   const ISurface& surf, 
00114                   EVector& res); 
00115 
00116   double matchStateTrajectory(const IState& state, 
00117                   const ITrajectory& traj,
00118                   const ISurface& surf,
00119                   const EMatrix& H,
00120                   EVector& res); 
00121 
00122   //! set  verbosity 
00123   void setVerbosity(int v){m_verbosity = v;}
00124   //! return verbosity 
00125   int verbosity() const {return m_verbosity;}  
00126 
00127  protected:
00128   
00129   //! returns the navigator
00130   Navigator& navigator() {return *m_navigator;}
00131 
00132  protected:
00133 
00134   Navigator* m_navigator;
00135   // Verbosity
00136 
00137   int m_verbosity; 
00138  
00139 };
00140 #endif
00141 

Generated on Mon Nov 23 08:01:43 2009 for MIPP(E907) by  doxygen 1.4.7