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

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

    00001 //=============================================================================
    00002 // Dissent.h: interface for the Dissent 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 // A dissent is a precompiled mapping between observations and conflicts;
    00015 //      removing the necessity for satisfiability checking in the OCSP while
    00016 //      searching for most likely estimates
    00017 //
    00018 //=============================================================================
    00019
    00020 #if !defined(_DISSENT_H_)
    00021 #define _DISSENT_H_
    00022
    00023 #if _MSC_VER > 1000
    00024 #pragma once
    00025 #endif // _MSC_VER > 1000
    00026
    00027 #include <iostream>
    00028
    00029 namespace Mers {
    00030         namespace Models {
    00031                 namespace Base {
    00032                         class BaseModelAssignmentArray;
    00033                 }
    00034         }
    00035         namespace Estimation {
    00036                 namespace Discrete {
    00037
    00047                         class Dissent
    00048                         {
    00049
    00050                                 friend std::ostream &  operator<<(std::ostream &, Dissent const &);
    00051
    00052                         public:
    00053                                 //-----------------------------------------
    00054                                 // Constructors
    00055                                 //-----------------------------------------
    00056
    00063                                 Dissent(const Mers::Models::Base::BaseModelAssignmentArray * imp,
    00064                                         const Mers::Models::Base::BaseModelAssignmentArray * con);
    00065
    00066
    00067                                 //-----------------------------------------
    00068                                 // Copy Constructors
    00069                                 //-----------------------------------------
    00070
    00075                                 Dissent(Dissent const & originalDissent);
    00076
    00081                                 Dissent(Dissent const * originalDissent);
    00082
    00083                                 //-----------------------------------------
    00084                                 // Destructors
    00085                                 //-----------------------------------------
    00086
    00090                                 virtual ~Dissent();
    00091
    00092
    00093                                 //-----------------------------------------
    00094                                 // Functions
    00095                                 //-----------------------------------------
    00096
    00101                                 const Mers::Models::Base::BaseModelAssignmentArray *  getConflict(void) const;
    00102
    00103
    00108                                 const unsigned int getAntecedentLength(void) const;
    00109
    00115                                 const unsigned int getAntecedentVariableUID(unsigned int vectorPos) const;
    00116
    00123                                 const unsigned short getAntecedentValueUID(unsigned int vectorPos) const;
    00124
    00130                                 void setDebug(const unsigned short debugVal);
    00131
    00132
    00133                         private:
    00134
    00135                                 //-----------------------------------------
    00136                                 // Data Members
    00137                                 //-----------------------------------------
    00138
    00141                                 const Mers::Models::Base::BaseModelAssignmentArray *            dissentImplicant;
    00142
    00143
    00147                                 const Mers::Models::Base::BaseModelAssignmentArray *            conflict;
    00148
    00150                                 unsigned short                                                  debug;
    00151
    00152                         };
    00153                 }
    00154         }
    00155 }
    00156
    00157 #endif // !defined(_DISSENT_H_)