Logo Coherent WaveBurst  
Reference Guide
Logo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
cwb_xtalk.C
Go to the documentation of this file.
1 // macro used to generate the Overlap Catalog
2 {
3 
4  #define NMAX_RES 32
5 
6  // get low resolution level
7  int cwb_xtalk_low_level=0;
8  if(gSystem->Getenv("CWB_XTALK_LOW_LEVEL")==NULL) {
9  cout << "cwb_xtalk.C - Error : environment CWB_XTALK_LOW_LEVEL is not defined!!!" << endl;exit(1);
10  } else {
11  if(TString(gSystem->Getenv("CWB_XTALK_LOW_LEVEL")).IsDigit()) {
12  cwb_xtalk_low_level=TString(gSystem->Getenv("CWB_XTALK_LOW_LEVEL")).Atoi();
13  } else {
14  cout << "cwb_xtalk.C - Error : environment CWB_XTALK_LOW_LEVEL is not defined!!!" << endl;exit(1);
15  }
16  }
17 
18  // get high resolution level
19  int cwb_xtalk_high_level=0;
20  if(gSystem->Getenv("CWB_XTALK_HIGH_LEVEL")==NULL) {
21  cout << "cwb_xtalk.C - Error : environment CWB_XTALK_HIGH_LEVEL is not defined!!!" << endl;exit(1);
22  } else {
23  if(TString(gSystem->Getenv("CWB_XTALK_HIGH_LEVEL")).IsDigit()) {
24  cwb_xtalk_high_level=TString(gSystem->Getenv("CWB_XTALK_HIGH_LEVEL")).Atoi();
25  } else {
26  cout << "cwb_xtalk.C - Error : environment CWB_XTALK_HIGH_LEVEL is not defined!!!" << endl;exit(1);
27  }
28  }
29 
30  int nRes = cwb_xtalk_high_level-cwb_xtalk_low_level+1;
31  if(nRes<=0) {
32  cout << "cwb_xtalk.C - Error : low res Level must be < high res level" << endl;exit(1);
33  }
34  if(nRes>NMAX_RES) {
35  cout << "cwb_xtalk.C - Error : number of max resolutions is : " << NMAX_RES << endl;exit(1);
36  }
37 
38  // get iNu : defines the sharpness of the 'edge' of the basis function in Fourier domain
40  if(gSystem->Getenv("CWB_XTALK_INU")!=NULL) {
41  if(TString(gSystem->Getenv("CWB_XTALK_INU")).IsDigit()) {
42  cwb_xtalk_iNu=TString(gSystem->Getenv("CWB_XTALK_INU")).Atoi();
43  } else {
44  cout << "cwb_xtalk.C - Error : environment CWB_XTALK_INU is not defined!!!" << endl;exit(1);
45  }
46  }
47 
48  // get precison : defines filter length by truncation error quantified by P = -log10(1 - norm_of_filter)
50  if(gSystem->Getenv("CWB_XTALK_PRECISION")!=NULL) {
51  if(TString(gSystem->Getenv("CWB_XTALK_HIGH_LEVEL")).IsDigit()) {
52  cwb_xtalk_precision=TString(gSystem->Getenv("CWB_XTALK_PRECISION")).Atoi();
53  } else {
54  cout << "cwb_xtalk.C - Error : environment CWB_XTALK_PRECISION is not defined!!!" << endl;exit(1);
55  }
56  }
57 
58  // define wdm
59  cout << "cwb_xtalk.C - define wdm ..." << endl;
61  for(int level=cwb_xtalk_low_level; level<=cwb_xtalk_high_level; level++) {
62  int layers = level>0 ? 1<<level : 0;
63  wdm[level-cwb_xtalk_low_level] = new WDM<double>(layers, layers, cwb_xtalk_iNu, cwb_xtalk_precision);
64  }
65 
66  // generate xtalk catalog
67  cout << "cwb_xtalk.C - generate xtalk catalog : be patient, it takes a while ..." << endl;
68  monster x(wdm, nRes);
69 
70  // write xtalk catalog
71  cout << "cwb_xtalk.C - write xtalk catalog ..." << endl;
72  char fName[1024];
73  sprintf(fName,"OverlapCatalog-ilLev%d-hLev%d-iNu%d-P%d.xbin",
74  cwb_xtalk_low_level,cwb_xtalk_high_level,cwb_xtalk_iNu,cwb_xtalk_precision);
75  x.write(fName);
76  cout << "OverlapCatalog Name : " << fName << endl;
77  gSystem->Exit(1);
78 }
TString("c")
cout<< endl;cout<< "ts size = "<< ts.size()<< " ts rate = "<< ts.rate()<< endl;tf.Forward(ts, wdm);int levels=tf.getLevel();cout<< "tf size = "<< tf.size()<< endl;double dF=tf.resolution();double dT=1./(2 *dF);cout<< "rate(hz) : "<< RATE<< "\t layers : "<< nLAYERS<< "\t dF(hz) : "<< dF<< "\t dT(ms) : "<< dT *1000.<< endl;int itime=TIME_PIXEL_INDEX;int ifreq=FREQ_PIXEL_INDEX;int index=(levels+1)*itime+ifreq;double time=itime *dT;double freq=(ifreq >0)?ifreq *dF:dF/4;cout<< endl;cout<< "PIXEL TIME = "<< time<< " sec "<< endl;cout<< "PIXEL FREQ = "<< freq<< " Hz "<< endl;cout<< endl;wavearray< double > x
int layers
int cwb_xtalk_precision
Definition: cwb_xtalk.C:49
int cwb_xtalk_iNu
Definition: cwb_xtalk.C:39
cout<< "cwb_xtalk.C - define wdm ..."<< endl;WDM< double > * wdm[NMAX_RES]
Definition: cwb_xtalk.C:60
#define NMAX_RES
sprintf(tfres,"(1/%g)x(%g) (sec)x(Hz)", 2 *df, df)
char fName[256]
exit(0)