1 #include <utl/MathConstants.h>
3 #include <utl/NoiseSaS.h>
4 #include <utl/RandomEngine.h>
5 #include <CLHEP/Random/RandFlat.h>
8 #include <utl/MathConstants.h>
9 #include <utl/RandomEngine.h>
10 #include <CLHEP/Random/RandExponential.h>
11 #include <fwk/RandomEngineRegistry.h>
12 #include <fwk/CentralConfig.h>
13 #include <utl/config.h>
18 using CLHEP::RandExponential;
22 NoiseSaS::CreateSaSNoiseInTimeDomain(
const double alpha)
25 const double v = fRandomGeneratorV();
26 const double w = RandExponential::shoot(&fRandomEngine->GetEngine(), 1);
27 const int i = random() & 1 ? 1 : -1;
29 const double x1 = sin(alpha*v) /
pow(cos(v), 1/alpha);
30 const double x2 =
pow(cos(v-alpha*v)/w, (1 - alpha)/alpha);
double pow(const double x, const unsigned int i)