NoiseSaS.h
Go to the documentation of this file.
1 #ifndef _utl_NoiseSaS_h_
2 #define _utl_NoiseSaS_h_
3 
11 #include <complex>
12 #include <boost/random.hpp>
13 #include <boost/random/uniform_real.hpp>
14 #include <utl/MathConstants.h>
15 #include <utl/RandomEngine.h>
16 #include <CLHEP/Random/RandExponential.h>
17 
18 
19 namespace utl {
20 
29  class NoiseSaS {
30  public:
31  NoiseSaS(RandomEngine* const test) :
32  fRandgen(time(nullptr)),
33  fIntervalV(0, kPiOnTwo),
35  fRandomEngine(test)
36  { }
37  virtual ~NoiseSaS() { }
38 
40  double CreateSaSNoiseInTimeDomain(const double alpha);
41 
42  private:
43  boost::mt19937 fRandgen;
44  boost::uniform_real<double> fIntervalV;
45  boost::variate_generator<boost::mt19937, boost::uniform_real<double>> fRandomGeneratorV;
47  };
48 
49 }
50 
51 
52 #endif
RandomEngine * fRandomEngine
Definition: NoiseSaS.h:46
NoiseSaS(RandomEngine *const test)
Definition: NoiseSaS.h:31
boost::variate_generator< boost::mt19937, boost::uniform_real< double > > fRandomGeneratorV
Definition: NoiseSaS.h:45
double CreateSaSNoiseInTimeDomain(const double alpha)
Returns the noise in time domain.
Definition: NoiseSaS.cc:22
boost::mt19937 fRandgen
Definition: NoiseSaS.h:43
Wraps the random number engine used to generate distributions.
Definition: RandomEngine.h:27
constexpr double kPiOnTwo
Definition: MathConstants.h:25
boost::uniform_real< double > fIntervalV
Definition: NoiseSaS.h:44
Class producing noise originating from a Symmetric alpha-Stable distribution function.
Definition: NoiseSaS.h:29
virtual ~NoiseSaS()
Definition: NoiseSaS.h:37

, generated on Tue Sep 26 2023.