source: Sophya/trunk/ArchTOIPipe/ProcWSophya/noisegen.cc@ 2007

Last change on this file since 2007 was 1944, checked in by aubourg, 24 years ago

decorrelateur wiener

File size: 986 bytes
Line 
1#include "noisegen.h"
2#include "toimanager.h"
3
4NoiseGen::NoiseGen() {
5 gen = NULL;
6}
7
8NoiseGen::~NoiseGen() {
9 delete gen;
10}
11
12void NoiseGen::init() {
13 declareOutput("noise");
14 name = "NoiseGen";
15}
16
17int NoiseGen::calcMinOut() {
18 chkinit();
19 TOIManager* mgr = TOIManager::getManager();
20 int firstReq = mgr->getRequestedBegin();
21 return firstReq;
22}
23
24int NoiseGen::calcMaxOut() {
25 chkinit();
26 TOIManager* mgr = TOIManager::getManager();
27 int lastReq = mgr->getRequestedEnd();
28 return lastReq;
29}
30
31void NoiseGen::run() {
32 if (gen == NULL) {
33 cerr << "NoiseGen::run : no generator" << endl;
34 abort();
35 }
36
37 int snb = getMinOut();
38 int sne = getMaxOut();
39
40 for (int i=snb; i<=sne; i++) {
41 putData(0,i,gen->Noise(),0);
42 }
43
44}
45
46NoiseGenGauss::NoiseGenGauss(float sigma) {
47 gen = new SOPHYA::NoiseGenerator(sigma);
48}
49
50NoiseGenOOF::NoiseGenOOF(float fknee, float sigma ) {
51 float tau=0.5/fknee;
52 if (tau < 1) tau=1;
53 gen = new SOPHYA::SumNoise(fknee, sigma, tau);
54}
Note: See TracBrowser for help on using the repository browser.