SST/macro
noise.h
Go to the documentation of this file.
1 #ifndef sstmac_hardware_noise_NOISE_H
2 #define sstmac_hardware_noise_NOISE_H
3 
5 #include <sstmac/common/rng.h>
6 
7 namespace sstmac {
8  namespace hw {
9 
10 class noise_model :
12 {
13  public:
14 
15  virtual ~noise_model(){}
16 
17  virtual double value() = 0;
18 
19  virtual void
20  init_factory_params(sprockit::sim_parameters *params);
21 
22 };
24 
26  public noise_model
27 {
28  public:
30  double mean,
31  double stdev,
32  double maxz,
33  int seed);
34 
35  gaussian_noise_model() : rng_(nullptr) {}
36 
38 
39  std::string
40  to_string() const {
41  return "gaussian noise model";
42  }
43 
44  virtual void
45  init_factory_params(sprockit::sim_parameters* params);
46 
47  double value();
48 
49  protected:
51 };
52 
53  }
54 }
55 
56 #endif // NOISE_H
RNG::NormalDistribution * rng_
Definition: noise.h:50
DeclareFactory(node)
virtual double value()=0
virtual void init_factory_params(sprockit::sim_parameters *params)
std::string to_string() const
Definition: noise.h:40
virtual ~noise_model()
Definition: noise.h:15
SUMI = Simulator unified messagine interface It is also the name for a solid ink in Japanese - i...