core/vpdl/vpdl_multi_cmp_dist.h
Go to the documentation of this file.
00001 // This is core/vpdl/vpdl_multi_cmp_dist.h
00002 #ifndef vpdl_multi_cmp_dist_h_
00003 #define vpdl_multi_cmp_dist_h_
00004 //:
00005 // \file
00006 // \author Matthew Leotta
00007 // \date February 18, 2009
00008 // \brief base class for multiple component distributions
00009 //
00010 // \verbatim
00011 //  Modifications
00012 //   None
00013 // \endverbatim
00014 
00015 #include <vpdl/vpdl_distribution.h>
00016 
00017 //: The base class for all multiple component probability distributions.
00018 template<class T, unsigned int n=0>
00019 class vpdl_multi_cmp_dist : public vpdl_distribution<T,n>
00020 {
00021 public:
00022   //: the data type used for vectors
00023   typedef typename vpdt_field_default<T,n>::type vector;
00024   //: the data type used for matrices
00025   typedef typename vpdt_field_traits<vector>::matrix_type matrix;
00026 
00027   
00028   //: Destructor
00029   virtual ~vpdl_multi_cmp_dist() {}
00030 
00031   //: The number of components
00032   virtual unsigned int num_components() const = 0;
00033 
00034 };
00035 
00036 
00037 
00038 
00039 #endif // vpdl_multi_cmp_dist_h_