Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members

plVariablesConjunction.h

00001 /*=============================================================================
00002  * Product        : OpenPL 
00003  * File           : plVariablesConjunction.h
00004  * Author         : Juan-Manuel Ahuactzin
00005  * Creation       : Wed Apr 10 10:59:32 2002
00006  *
00007  *=============================================================================
00008  *     (c) Copyright 2000, Centre National de la Recherche Scientifique,
00009  *                              all rights reserved
00010  *=============================================================================
00011  *
00012  *------------------------- Description ---------------------------------------
00013  *   
00014  *   
00015  *-----------------------------------------------------------------------------
00016 */
00017 
00018 
00019 #ifndef _plVariablesConjunction_h
00020 #define _plVariablesConjunction_h
00021 
00022 #include <plObject.h>
00023 #include <plMath.h>
00024 
00025 /*****************************************************************************
00026  *                           External Classes
00027  *****************************************************************************/
00028 class kplVariable;
00029 
00030 
00031 /*****************************************************************************
00032  *                           Classes Definitions
00033  *****************************************************************************/
00034 
00035 
00038 class plVariablesConjunction : public plObject
00039 {
00040 protected:
00042     virtual void Output(ostream &out) const;
00043 public:
00044   
00046   plVariablesConjunction();
00047 
00051   virtual ~plVariablesConjunction();
00052   
00054   string name() const;
00055 
00056   class plVariable operator^(const plVariablesConjunction &variable) const;
00057   
00064   double cardinality()const;
00065 
00068   inline bool isDiscretized() const
00069     {
00070       return ( 0.0 != cardinality() );
00071     }
00072   
00075   inline unsigned int dim() const
00076   {
00077     return Dsize;
00078   }
00079   
00080 
00081 private:
00083   kplVariable *kernel_variable;
00084   
00085 protected:
00088   unsigned int Dsize;
00089 
00091   list <kplVariable *> variable_list;
00092   
00094   plVariablesConjunction(const list <kplVariable *> &kernel_variable_list);
00095   
00096 public:
00097   const list <kplVariable *>& get_variable_list() const;
00098   
00099   
00100   friend class plData;
00101   friend class plArray;
00102   friend class plBellShape;
00103   friend class plCndBellShape;
00104   friend class plCndBellShapeA;
00105   friend class plCndKernel;
00106   friend class plCndNormal;
00107   friend class plCndProbTable;
00108   friend class plCndUnknown;
00109   friend class plComputableObject;
00110   friend class plConditional1dGaussA;
00111   friend class plConditionalExpression;
00112   friend class plDirac;
00113   friend class plDistribution;
00114   friend class plFunctionalDirac;
00115   friend class plGamma; 
00116   friend class plJointDistribution;
00117   friend class plKalmanFilter;
00118   friend class plKernel;
00119   friend class plKernelMap;
00120   friend class plMrbt;
00121   friend class plNormal;
00122   friend class plPoisson;
00123   friend class plProbTable;
00124   friend class plSymbol;
00125   friend class plUniform;
00126   friend class plUnknown;
00127   friend class plValues;
00128   friend class plVariable;
00129   friend class plKernelTable;
00130   friend class plLogNormal;
00131 };
00132 
00133 
00134 #endif

Generated on Fri Apr 1 10:58:15 2005 for ProBT by  doxygen 1.4.1