ClassModel.h
Go to the documentation of this file.
00001 /************************************************************************
00002  *  Copyright (C) 2012 Eindhoven University of Technology (TU/e).       *
00003  *  All rights reserved.                                                *
00004  ************************************************************************
00005  *  Redistribution and use in source and binary forms, with or without  *
00006  *  modification, are permitted provided that the following conditions  *
00007  *  are met:                                                            *
00008  *                                                                      *
00009  *      1.  Redistributions of source code must retain the above        *
00010  *          copyright notice, this list of conditions and the following *
00011  *          disclaimer.                                                 *
00012  *                                                                      *
00013  *      2.  Redistributions in binary form must reproduce the above     *
00014  *          copyright notice, this list of conditions and the following *
00015  *          disclaimer in the documentation and/or other materials      *
00016  *          provided with the distribution.                             *
00017  *                                                                      *
00018  *  THIS SOFTWARE IS PROVIDED BY TU/e "AS IS" AND ANY EXPRESS OR        *
00019  *  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED      *
00020  *  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  *
00021  *  ARE DISCLAIMED. IN NO EVENT SHALL TU/e OR CONTRIBUTORS BE LIABLE    *
00022  *  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR        *
00023  *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT   *
00024  *  OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;     *
00025  *  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF       *
00026  *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT           *
00027  *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE   *
00028  *  USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH    *
00029  *  DAMAGE.                                                             *
00030  *                                                                      *
00031  *  The views and conclusions contained in the software and             *
00032  *  documentation are those of the authors and should not be            *
00033  *  interpreted as representing official policies, either expressed or  *
00034  *  implied, of TU/e.                                                   *
00035  ************************************************************************/
00036 
00037 #ifndef WM_CLASS_MODEL_H_
00038 #define WM_CLASS_MODEL_H_
00039 
00040 #include "wire/core/PropertySet.h"
00041 #include "wire/core/datatypes.h"
00042 #include <string>
00043 
00044 namespace mhf {
00045 
00046 class IStateEstimator;
00047 
00057 class ClassModel {
00058 
00059 public:
00060 
00061     ClassModel(const std::string& model_name);
00062 
00063     ClassModel(const ClassModel& orig);
00064 
00065     virtual ~ClassModel();
00066 
00067     void setNewPDF(const Attribute& attribute, const pbl::PDF& pdf);
00068 
00069     void setClutterPDF(const Attribute& attribute, const pbl::PDF& pdf);
00070 
00071     void setEstimator(const Attribute& attribute, const IStateEstimator& estimator);
00072 
00073     void setModelName(const std::string& name);
00074 
00075     const std::string& getModelName() const;
00076 
00077     const PropertySet& getNewPDFs() const;
00078 
00079     const PropertySet& getClutterPDFs() const;
00080 
00081     const IStateEstimator* getEstimator(const Attribute& attribute) const;
00082 
00083     //void setProbDetectedGivenVisible(double prob);
00084 
00085     //double getProbDetectedGivenVisible() const;
00086 
00087 protected:
00088 
00089     PropertySet new_pdfs_;
00090 
00091     PropertySet clutter_pdfs_;
00092 
00093     PropertySet estimators_;
00094 
00095     std::string model_name_;
00096 
00097     //double p_detected_given_visible_;
00098 
00099 };
00100 
00101 }
00102 
00103 #endif /* WM_CLASS_MODEL_H_ */


wire_core
Author(s): Sjoerd van den Dries, Jos Elfring
autogenerated on Tue Jan 7 2014 11:43:19