C++ main module for mmsd Package  1.0
STAT_DiracDistribution.h
Go to the documentation of this file.
1 #ifndef STAT_DiracDistribution_H
2 #define STAT_DiracDistribution_H
3 
4 #include "STAT_Distribution.h"
5 
6 
15  SP_OBJECT(STAT_DiracDistribution);
16  // ATTRIBUTES
17 
18 public:
19 
20 private:
21 
22 
23  tReal mLocation;
24  // ASSOCIATIONS
25 
26 protected:
27  // METHODS
28 
29  // CONSTRUCTORS
30 
33 
34 
35 
36  // DESTRUCTORS
37 
38 
41  virtual ~STAT_DiracDistribution(void);
42 
43 
44 
45 public:
46  //----------------
47  // NEW constructors
48  // ---------------
49 
52  inline static SP::STAT_DiracDistribution New(const tReal& location) {
53  SP::STAT_DiracDistribution p(new STAT_DiracDistribution(),
55  p->setProperties(location);
56  p->setThis(p);
57  return p;
58  }
61  inline static SP::STAT_DiracDistribution New() {
62  return New(log(2));
63  }
66  virtual SP::STAT_Distribution NewInstance() const {
67  return New();
68  }
69 
70 
73  virtual void copy(const STAT_Distribution& d) {
74  setProperties(d.mean());
75  }
76 
77  // --------------------
78  // ATTRIBUTES setting
79  // --------------------
80 
81  void setProperties(const tReal& location);
82 
83 
84 
85  // -----------------------
86  // USUAL Functions
87  // ------------------------
88 
89 
92  virtual tReal pdf(const tReal& x) const;
93 
96  virtual tReal cdf(const tReal& x) const;
97 
100  virtual tReal cdfc(const tReal& x) const;
101 
104  virtual void range(tReal& xmin,tReal& xmax) const;
105 
108  virtual tReal mean() const;
109 
112  virtual tReal variance() const;
115  virtual tReal standardDeviation() const;
118  virtual tReal quantile(const tReal& q) const;
119 
123  virtual tReal random() const;
124 
125 
128  virtual void computeSample(const int& n,CORE_RealArray& sample) const;
129 
130 protected:
131  /* \brief return the growth rate of the distribution
132  * @param adjust: is true rescale the parameters of the distribution suach as its growth rate is rho
133  *
134  */
135  virtual tReal computeGrowthRate(const tReal& v,
136  const tBoolean& adjust,
137  const tReal& rho);
138 
139 };
140 
141 #endif
virtual void copy(const STAT_Distribution &d)
copy the distribution
Definition: STAT_DiracDistribution.h:73
static SP::STAT_DiracDistribution New()
create a Dirac distibution
Definition: STAT_DiracDistribution.h:61
STAT_DiracDistribution()
create an object
Definition: STAT_DiracDistribution.cpp:6
virtual tReal computeGrowthRate()
return the growth rate of the distribution such that Esperance(E(exp(-z*X)))=0.5
Definition: STAT_Distribution.h:133
DEFINE_SPTR(STAT_DiracDistribution)
virtual void range(tReal &xmin, tReal &xmax) const
compute the range of the distribution
Definition: STAT_DiracDistribution.cpp:19
virtual tReal variance() const
compute the variance
Definition: STAT_DiracDistribution.cpp:44
This class is the class to describes Dirac distribution.
Definition: STAT_DiracDistribution.h:14
virtual tReal cdf(const tReal &x) const
compute the cumulative distribution function at x point
Definition: STAT_DiracDistribution.cpp:29
virtual tReal mean() const =0
compute the mean
#define tBoolean
Definition: types.h:48
virtual tReal cdfc(const tReal &x) const
compute the cumulative distribution complement function at x point
Definition: STAT_DiracDistribution.cpp:36
virtual tReal quantile(const tReal &q) const
quantile
Definition: STAT_DiracDistribution.cpp:52
virtual ~STAT_DiracDistribution(void)
destroy an object.
Definition: STAT_DiracDistribution.cpp:12
virtual tReal standardDeviation() const
compute the standard deviation
Definition: STAT_DiracDistribution.cpp:48
virtual void computeSample(const int &n, CORE_RealArray &sample) const
compute a sample of size n
Definition: STAT_DiracDistribution.cpp:60
this class describes an array
Definition: CORE_Array.h:18
virtual tReal random() const
random return a random numbers in range
Definition: STAT_DiracDistribution.cpp:55
virtual SP::STAT_Distribution NewInstance() const
create a new instance of the distribution
Definition: STAT_DiracDistribution.h:66
This class is the class to describes general distribution.
Definition: STAT_Distribution.h:25
virtual tReal mean() const
compute the mean
Definition: STAT_DiracDistribution.cpp:40
static SP::STAT_DiracDistribution New(const tReal &location)
create a Dirac distibution
Definition: STAT_DiracDistribution.h:52
virtual tReal pdf(const tReal &x) const
compute the probability density function at x point
Definition: STAT_DiracDistribution.cpp:24
void setProperties(const tReal &location)
Definition: STAT_DiracDistribution.cpp:16
#define tReal
Definition: types.h:18
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:106