1 #ifndef DISCRETEDISTRIBUTIONWRAPPER2D_H
3 #define DISCRETEDISTRIBUTIONWRAPPER2D_H
6 #include "discretedistribution2d.h"
15 ~DiscreteDistributionWrapper2D();
17 bool_t init(
const std::string &densFile,
const std::string &maskFile,
double xOffset,
double yOffset,
18 double width,
double height,
bool flipY,
bool floor);
21 double pickMarginalX()
const;
22 double pickMarginalY()
const;
23 double pickConditionalOnX(
double x)
const;
24 double pickConditionalOnY(
double y)
const;
26 std::string getDensFileName()
const {
return m_densFileName; }
27 std::string getMaskFileName()
const {
return m_maskFileName; }
28 double getXOffset()
const {
return m_xOffset; }
29 double getYOffset()
const {
return m_yOffset; }
30 double getWidth()
const {
return m_xSize; }
31 double getHeight()
const {
return m_ySize; }
32 bool isYFlipped()
const {
return m_flipY; }
33 bool isFloored()
const {
return m_floor; }
35 static bool_t allocateGridFunction(
const std::string &fileName, GridValues **pGf);
37 DiscreteDistribution2D *m_pDist;
38 std::string m_densFileName, m_maskFileName;
39 double m_xOffset, m_yOffset;
40 double m_xSize, m_ySize;
41 bool m_flipY, m_floor;
44 inline Point2D DiscreteDistributionWrapper2D::pickPoint()
const
47 return Point2D(std::numeric_limits<double>::quiet_NaN(), std::numeric_limits<double>::quiet_NaN());
48 return m_pDist->pickPoint();
51 inline double DiscreteDistributionWrapper2D::pickMarginalX()
const
54 return std::numeric_limits<double>::quiet_NaN();
55 return m_pDist->pickMarginalX();
58 inline double DiscreteDistributionWrapper2D::pickMarginalY()
const
61 return std::numeric_limits<double>::quiet_NaN();
62 return m_pDist->pickMarginalY();
65 inline double DiscreteDistributionWrapper2D::pickConditionalOnX(
double x)
const
68 return std::numeric_limits<double>::quiet_NaN();
69 return m_pDist->pickConditionalOnX(x);
72 inline double DiscreteDistributionWrapper2D::pickConditionalOnY(
double y)
const
75 return std::numeric_limits<double>::quiet_NaN();
76 return m_pDist->pickConditionalOnY(y);
79 #endif // DISCRETEDISTRIBUTIONWRAPPER2D_H
Type to return true/false with error description.
Definition: booltype.h:25
virtual Point2D pickPoint() const =0
Pick a point according to a specific distrubution, specified in a subclass of ProbabilityDistribution...
This class allows you to generate random numbers, and uses the GNU Scientific Library for this...
Definition: gslrandomnumbergenerator.h:16
Abstract base class for 2D probability distribution implementations so that they can be used intercha...
Definition: probabilitydistribution2d.h:17