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

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

    00001 //=============================================================================
    00002 // Trajectories.h: interface for the Trajectories 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 // The most likely trajectories are a set of estimates (listed in best-first order)
    00015 //  which only focus on single, non-uniting, paths through the belief state
    00016 //
    00017 //=============================================================================
    00018
    00019 #if !defined(_TRAJECTORIES_H_)
    00020 #define _TRAJECTORIES_H_
    00021
    00022 #if _MSC_VER > 1000
    00023 #pragma once
    00024 #endif // _MSC_VER > 1000
    00025
    00026
    00027 #include <vector>
    00028 #include <iostream>
    00029
    00030 namespace Mers {
    00031         namespace Estimation {
    00032                 namespace Discrete {
    00033
    00034                         class Estimate;
    00035
    00041                         class Trajectories
    00042                         {
    00043
    00044                                 friend std::ostream &  operator<<(std::ostream &, Trajectories const &);
    00045
    00046                         public:
    00047                                 //-----------------------------------------
    00048                                 // Constructors
    00049                                 //-----------------------------------------
    00050
    00057                                 Trajectories(const double p, unsigned short db = 0);
    00058
    00059
    00060                                 //-----------------------------------------
    00061                                 // Copy Constructors
    00062                                 //-----------------------------------------
    00063
    00068                                 Trajectories(Trajectories const & trajs);
    00069
    00074                                 Trajectories(Trajectories const * trajs);
    00075
    00076                                 //-----------------------------------------
    00077                                 // Destructors
    00078                                 //-----------------------------------------
    00079
    00083                                 virtual ~Trajectories();
    00084
    00085
    00086                                 //-----------------------------------------
    00087                                 // Functions
    00088                                 //-----------------------------------------
    00089
    00095                                 bool addEstimate(Estimate * est);
    00096
    00101                                 const Estimate * getMostLikelyEstimate() const;
    00102
    00103
    00109                                 const Estimate * getEstimate(const unsigned int index) const;
    00110
    00118                                 Estimate * getEstimateUnconst(const unsigned int index);
    00119
    00124                                 unsigned int getNumberEstimates() const;
    00125
    00132                                 double getBeliefUncertainty() const;
    00133
    00139                                 double getAccumulatedUncertainty() const;
    00140
    00145                                 bool normalize();
    00146
    00152                                 void setDebug(const unsigned short db);
    00153
    00154
    00155                         private:
    00159                                 std::vector<Estimate *> estimates;
    00160
    00162                                 double                                  beliefProbability;
    00163
    00166                                 double                                  uncertainty;
    00167
    00169                                 unsigned short                  debug;
    00170
    00173                                 bool                                    wasNormalized;
    00174                         };
    00175                 }
    00176         }
    00177 }
    00178
    00179 #endif // !defined(_TRAJECTORIES_H_)