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

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

    00001 //=============================================================================
    00002 // ObsComboRule.h: interface for the ObsComboRule class.
    00003 //
    00004 // Copyright (c) 2005           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 // This class inherits from the rule class. In addition to
    00015 // having an array of base model assignments, the observation combination rule
    00016 // stores the number of consistent combinations of observations for the specified
    00017 // componenet mode assignments.
    00018 //
    00019 //=============================================================================
    00020
    00021 #if !defined(_OBSCOMBORULE_H_)
    00022 #define _OBSCOMBORULE_H_
    00023
    00024 #if _MSC_VER > 1000
    00025 #pragma once
    00026 #endif // _MSC_VER > 1000
    00027
    00028 #include <Mers/Estimation/Discrete/ProbabilityRules/Rule.h>
    00029
    00030 #include <vector>
    00031 #include <iostream>
    00032
    00033 namespace Mers {
    00034         namespace Models {
    00035                 namespace Base {
    00036                         class BaseModelAssignmentArray;
    00037                 }
    00038         }
    00039         namespace Estimation {
    00040                 namespace Discrete {
    00041                         namespace ProbabilityRules {
    00042
    00049                         class ObsComboRule : public Mers::Estimation::Discrete::ProbabilityRules::Rule
    00050                         {
    00051
    00052                                 friend std::ostream &  operator<<(std::ostream &, ObsComboRule const &);
    00053
    00054                         public:
    00055                                 //-----------------------------------------
    00056                                 // Constructors
    00057                                 //-----------------------------------------
    00058
    00066                                 ObsComboRule(const Mers::Models::Base::BaseModelAssignmentArray * myAssigmentArray,
    00067                                                 unsigned int initNumConsistentObs,
    00068                                                 unsigned short db = 0);
    00069
    00070
    00071                                 //-----------------------------------------
    00072                                 // Destructors
    00073                                 //-----------------------------------------
    00074
    00078                                 virtual ~ObsComboRule();
    00079
    00080
    00081                                 //-----------------------------------------
    00082                                 // Functions
    00083                                 //-----------------------------------------
    00084
    00091                                 bool decrementBy(unsigned int num);
    00092
    00098                                 unsigned int getNumConsistentObsCombos(void);
    00099
    00100                         private:
    00102                                 unsigned int     numConsistenObsCombos;
    00103                                 };
    00104                         }
    00105                 }
    00106         }
    00107 }
    00108
    00109 #endif // !defined(_OBSCOMBORULE_H_)
    00110