- Main Page
- Namespaces
- Classes
- Files
- Related Pages

# /Users/fpy/titan-1-5-MBARI/Mers/Estimation/Discrete/Estimate.h

    00001 //=============================================================================
    00002 // Estimate.h: interface for the Estimate class.
    00003 //
    00004 // Copyright (c) 2004           Model-based Embedded and Robotic Systems Group
    00005 // All Rights Reserved          Massachusetts Institute of Technology
    00006 //
    00007 // This software is provided as is. Model-based Embedded and Robotic Systems
    00008 // (MERS) group does not assume any responsibility.
    00009 //
    00010 // Author:                      Oliver B. Martin
    00011 // Organization:        Model-based Embedded and Robotic Systems Group
    00012 //                                      Massachusetts Institute of Technology
    00013 //
    00014 // An estimate is a full assignment to mode variables. The product of all
    00015 // component probabilities is the probability of the estimate.
    00016 //
    00017 //=============================================================================
    00018
    00019 #if !defined(_ESTIMATE_H_)
    00020 #define _ESTIMATE_H_
    00021
    00022 #if _MSC_VER > 1000
    00023 #pragma once
    00024 #endif // _MSC_VER > 1000
    00025
    00026 #include <iostream>
    00027
    00028 namespace Mers {
    00029         namespace Models {
    00030                 namespace Base {
    00031                         class BaseModelAssignmentArray;
    00032                         class BaseModelAssignment;
    00033                 }
    00034         }
    00035         namespace Estimation {
    00036                 namespace Discrete {
    00037
    00042                         class Estimate
    00043                         {
    00044
    00045                                 friend std::ostream &  operator<<(std::ostream &, Estimate const &);
    00046
    00047                         public:
    00048                                 //-----------------------------------------
    00049                                 // Constructors
    00050                                 //-----------------------------------------
    00051
    00059                                 Estimate(Mers::Models::Base::BaseModelAssignmentArray const * assigns, const double p,
    00060                                         const unsigned int oTN = 0, const unsigned short db = 0);
    00061
    00062
    00063                                 //-----------------------------------------
    00064                                 // Copy Constructors
    00065                                 //-----------------------------------------
    00066
    00071                                 Estimate(Estimate const & est);
    00072
    00077                                 Estimate(Estimate const * est);
    00078
    00079                                 //-----------------------------------------
    00080                                 // Destructors
    00081                                 //-----------------------------------------
    00082
    00086                                 virtual ~Estimate();
    00087
    00088
    00089                                 //-----------------------------------------
    00090                                 // Functions
    00091                                 //-----------------------------------------
    00092
    00097                                 double getProbability() const;
    00098
    00104                                 void setProbability(double p);
    00105
    00110                                 const unsigned int getOriginatedTrajectoryNumber() const;
    00111
    00116                                 Mers::Models::Base::BaseModelAssignmentArray const * getComponentAssignments() const;
    00117
    00123                                 Mers::Models::Base::BaseModelAssignment const * getAssignment(const unsigned int index) const;
    00124
    00130                                 Mers::Models::Base::BaseModelAssignment const * getAssignmentByUID(const unsigned int uid) const;
    00131
    00137                                 void addAssignment( Mers::Models::Base::BaseModelAssignment * asg );
    00138
    00139                         private:
    00142                                 Mers::Models::Base::BaseModelAssignmentArray const *    componentAssignments;
    00143
    00146                                 double                                          posteriori;
    00147
    00149                                 const unsigned int                      originatedTrajectoryNumber;
    00150
    00152                                 unsigned short                          debug;
    00153                         };
    00154                 }
    00155         }
    00156 }
    00157
    00158
    00159 #endif // !defined(_ESTIMATE_H_)