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

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

    00001 //=============================================================================
    00002 // CompiledTransition.h: interface for the CompiledTransition 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 compiled transition is a precompiled mapping between current states and
    00015 //  commands to enabled transitions; removing the necessity for online
    00016 //  satisfiability checking in the OCSP while searching for most likely
    00017 //  estimates
    00018 //
    00019 //=============================================================================
    00020
    00021 #if !defined(_COMPILEDTRANSITION_H_)
    00022 #define _COMPILEDTRANSITION_H_
    00023
    00024 #if _MSC_VER > 1000
    00025 #pragma once
    00026 #endif // _MSC_VER > 1000
    00027
    00028 #include <iostream>
    00029
    00030 namespace Mers {
    00031         namespace Models {
    00032                 namespace Base {
    00033                         class BaseModelAssignment;
    00034                         class BaseModelAssignmentArray;
    00035                 }
    00036         }
    00037         namespace Estimation {
    00038                 namespace Discrete {
    00039
    00050                         class CompiledTransition
    00051                         {
    00052
    00053                                 friend std::ostream &  operator<<(std::ostream &, CompiledTransition const &);
    00054
    00055                         public:
    00056                                 //-----------------------------------------
    00057                                 // Constructors
    00058                                 //-----------------------------------------
    00059
    00068                                 CompiledTransition(const Mers::Models::Base::BaseModelAssignment * sourceAssign,
    00069                                         const Mers::Models::Base::BaseModelAssignmentArray * transGuards, const Mers::Models::Base::BaseModelAssignment * targetAssign,
    00070                                         const double prob);
    00071
    00072
    00073                                 //-----------------------------------------
    00074                                 // Copy Constructors
    00075                                 //-----------------------------------------
    00076
    00081                                 CompiledTransition(CompiledTransition const & originalCT);
    00082
    00087                                 CompiledTransition(CompiledTransition const * originalCT);
    00088
    00089                                 //-----------------------------------------
    00090                                 // Destructors
    00091                                 //-----------------------------------------
    00092
    00096                                 virtual ~CompiledTransition();
    00097
    00098
    00099                                 //-----------------------------------------
    00100                                 // Functions
    00101                                 //-----------------------------------------
    00102
    00107                                 const Mers::Models::Base::BaseModelAssignment * getTargetMode(void) const;
    00108
    00113                                 const double getTransitionProbability(void) const;
    00114
    00115
    00120                                 const unsigned int getAntecedentLength(void) const;
    00121
    00127                                 const unsigned int getAntecedentVariableUID(unsigned int vectorPos) const;
    00128
    00135                                 const unsigned short getAntecedentValueUID(unsigned int vectorPos) const;
    00136
    00142                                 void setDebug(const unsigned short debugVal);
    00143
    00144
    00145                         private:
    00146
    00147                                 //-----------------------------------------
    00148                                 // Data Members
    00149                                 //-----------------------------------------
    00150
    00153                                 const Mers::Models::Base::BaseModelAssignment *                         sourceMode;
    00154
    00158                                 const Mers::Models::Base::BaseModelAssignmentArray *            guards;
    00159
    00162                                 const Mers::Models::Base::BaseModelAssignment *                         targetMode;
    00163
    00165                                 const double                                                                                            transitionProbability;
    00166
    00168                                 unsigned short                                                                                          debug;
    00169
    00170                         };
    00171                 }
    00172         }
    00173 }
    00174
    00175 #endif // !defined(_COMPILEDTRANSITION_H_)