PDFDirichlet.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /**
  2. * @file PDFDirichlet.h
  3. * @brief dirichlet distribution
  4. * @author Erik Rodner
  5. * @date 01/29/2008
  6. */
  7. #ifndef PDFDirichletINCLUDE
  8. #define PDFDirichletINCLUDE
  9. #include "core/image/ImageT.h"
  10. #include "core/vector/VectorT.h"
  11. #include "core/vector/MatrixT.h"
  12. #include "PDF.h"
  13. namespace OBJREC {
  14. /** dirichlet distribution */
  15. class PDFDirichlet : public PDF
  16. {
  17. protected:
  18. // refactor-nice.pl: check this substitution
  19. // old: Vector alpha;
  20. NICE::Vector alpha;
  21. int dimension;
  22. public:
  23. /** simple constructor */
  24. PDFDirichlet( double alpha, int dimension );
  25. // refactor-nice.pl: check this substitution
  26. // old: PDFDirichlet( const Vector & alpha );
  27. PDFDirichlet( const NICE::Vector & alpha );
  28. /** simple destructor */
  29. virtual ~PDFDirichlet();
  30. // refactor-nice.pl: check this substitution
  31. // old: double getNLogDensity ( const Vector & x ) const;
  32. double getNLogDensity ( const NICE::Vector & x ) const;
  33. // refactor-nice.pl: check this substitution
  34. // old: double getProb ( const Vector & x ) const;
  35. double getProb ( const NICE::Vector & x ) const;
  36. int getDimension () const;
  37. void sample ( NICE::VVector & samples, int count ) const;
  38. };
  39. } // namespace
  40. #endif