C++ mpi module for stochmagnet_main Package
TRNG_NormalDistribution.h
1 #ifndef TRNG_NormalDistribution_H
2 #define TRNG_NormalDistribution_H
3 
4 //base class header
5 #include "RAND_RandomNumberDistribution.h"
6 
7 //internal distribution
8 #include "trng/normal_dist.hpp"
9 
16 class TRNG_NormalDistribution : public RAND_RandomNumberDistribution<tReal,trng::normal_dist<tReal>,TRNG_NormalDistribution> {
17 
18  //attributes
19 private :
20  //type of the return value of the distribution
21  typedef tReal T;
22  //self class
24  //super class
26 
27 
28 public:
29  // CONSTRUCTORS
33  //mean / sigma parameters
34  trng::normal_dist<tReal> dist(0,1);
35  initialize(dist);
36  }
37 
38 
39  // DESTRUCTORS
42  virtual ~TRNG_NormalDistribution(void) {
43  }
44 
45 
46 public :
47  // CREATE class
51  inline static CORE_UniquePointer<Self> New() {
52  return CORE_UniquePointer<Self>(new Self(),CORE_Object::Delete());
53  }
54 
55  //SET & GET methods
56 
57 
58 
63  inline void setProperties(const T& mean,const T& sigma) {
64  getDistribution().mu(mean);
65  getDistribution().sigma(sigma);
66 
67  }
68 };
69 
70 
71 #endif
class Free introduced for deleting a smart pointer
Definition: CORE_Object.h:113
This class generates a distribution implemented in class G with internal implementation class I with ...
Definition: RAND_RandomNumberDistribution.h:17
void initialize(trng::normal_dist< tReal > &dist)
initiliaze generator
Definition: RAND_RandomNumberDistribution.h:103
trng::normal_dist< tReal > & getDistribution()
get distribution
Definition: RAND_RandomNumberDistribution.h:124
This class generates a normal distribution with random number generator class G.
Definition: TRNG_NormalDistribution.h:16
void setProperties(const T &mean, const T &sigma)
set the statistical properties of the distribution
Definition: TRNG_NormalDistribution.h:63
virtual ~TRNG_NormalDistribution(void)
destroy the class
Definition: TRNG_NormalDistribution.h:42
TRNG_NormalDistribution(void)
create the class
Definition: TRNG_NormalDistribution.h:32
static CORE_UniquePointer< Self > New()
build a new instance of default class factory
Definition: TRNG_NormalDistribution.h:51
Definition: normal_dist.hpp:52