Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
filterException.hpp
00001 /* $Id$ */
00002 
00003 #ifndef FILTER_EXCEPTION_HPP
00004 #define FILTER_EXCEPTION_HPP
00005 
00006 #include "kernel/jafarException.hpp"
00007 
00008 namespace jafar {
00009 
00010   namespace filter {
00011 
00017     class FilterException : public jafar::kernel::Exception {
00018 
00019     public:
00020 
00024       enum ExceptionId {
00025         INVALID_SOFT_RESIZE, 
00026   INCONSISTENT_UPDATE  
00027       };
00028 
00038       FilterException(ExceptionId id_, 
00039                       const std::string& message_, 
00040                       const std::string& file_, int line_) throw();
00041 
00042       virtual ~FilterException() throw();
00043 
00044       ExceptionId getExceptionId() const throw(); 
00045 
00046     protected:
00047 
00048       ExceptionId id;
00049 
00050       static std::string exceptionIdToString(ExceptionId id_) throw();
00051       
00052     }; // class FilterException
00053 
00059     class InconsistentUpdateException : public FilterException {
00060 
00061     public:
00062       
00063       InconsistentUpdateException(double mahalanobisDistance_,
00064           double chi2Threshold_,
00065           const std::string& message_, 
00066           const std::string& file_, int line_) throw() :
00067   FilterException(INCONSISTENT_UPDATE, message_, file_, line_),
00068   mahalanobisDistance(mahalanobisDistance_),
00069   chi2Threshold(chi2Threshold_)
00070       {}
00071 
00072       virtual ~InconsistentUpdateException() throw() {}
00073 
00074       double mahalanobisDistance;
00075       double chi2Threshold;
00076       
00077     }; // class InconsistentUpdateException
00078 
00079   } // namespace filter
00080 } // namespace jafar
00081 
00082 #endif // FILTER_EXCEPTION_HPP
00083 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Wed Oct 15 2014 00:37:19 for Jafar by doxygen 1.7.6.1
LAAS-CNRS