25 int cwb_xtalk_low_level=0;
26 if(gSystem->Getenv(
"CWB_XTALK_LOW_LEVEL")==NULL) {
27 cout <<
"cwb_xtalk.C - Error : environment CWB_XTALK_LOW_LEVEL is not defined!!!" << endl;
exit(1);
29 if(
TString(gSystem->Getenv(
"CWB_XTALK_LOW_LEVEL")).IsDigit()) {
30 cwb_xtalk_low_level=
TString(gSystem->Getenv(
"CWB_XTALK_LOW_LEVEL")).Atoi();
32 cout <<
"cwb_xtalk.C - Error : environment CWB_XTALK_LOW_LEVEL is not defined!!!" << endl;
exit(1);
37 int cwb_xtalk_high_level=0;
38 if(gSystem->Getenv(
"CWB_XTALK_HIGH_LEVEL")==NULL) {
39 cout <<
"cwb_xtalk.C - Error : environment CWB_XTALK_HIGH_LEVEL is not defined!!!" << endl;
exit(1);
41 if(
TString(gSystem->Getenv(
"CWB_XTALK_HIGH_LEVEL")).IsDigit()) {
42 cwb_xtalk_high_level=
TString(gSystem->Getenv(
"CWB_XTALK_HIGH_LEVEL")).Atoi();
44 cout <<
"cwb_xtalk.C - Error : environment CWB_XTALK_HIGH_LEVEL is not defined!!!" << endl;
exit(1);
48 int nRes = cwb_xtalk_high_level-cwb_xtalk_low_level+1;
50 cout <<
"cwb_xtalk.C - Error : low res Level must be < high res level" << endl;
exit(1);
53 cout <<
"cwb_xtalk.C - Error : number of max resolutions is : " <<
NMAX_RES << endl;
exit(1);
58 if(gSystem->Getenv(
"CWB_XTALK_INU")!=NULL) {
59 if(
TString(gSystem->Getenv(
"CWB_XTALK_INU")).IsDigit()) {
60 cwb_xtalk_iNu=
TString(gSystem->Getenv(
"CWB_XTALK_INU")).Atoi();
62 cout <<
"cwb_xtalk.C - Error : environment CWB_XTALK_INU is not defined!!!" << endl;
exit(1);
68 if(gSystem->Getenv(
"CWB_XTALK_PRECISION")!=NULL) {
69 if(
TString(gSystem->Getenv(
"CWB_XTALK_HIGH_LEVEL")).IsDigit()) {
70 cwb_xtalk_precision=
TString(gSystem->Getenv(
"CWB_XTALK_PRECISION")).Atoi();
72 cout <<
"cwb_xtalk.C - Error : environment CWB_XTALK_PRECISION is not defined!!!" << endl;
exit(1);
77 cout <<
"cwb_xtalk.C - define wdm ..." << endl;
79 for(
int level=cwb_xtalk_low_level; level<=cwb_xtalk_high_level; level++) {
80 int layers = level>0 ? 1<<level : 0;
85 cout <<
"cwb_xtalk.C - generate xtalk catalog : be patient, it takes a while ..." << endl;
89 cout <<
"cwb_xtalk.C - write xtalk catalog ..." << endl;
91 sprintf(fName,
"OverlapCatalog-ilLev%d-hLev%d-iNu%d-P%d.xbin",
92 cwb_xtalk_low_level,cwb_xtalk_high_level,cwb_xtalk_iNu,cwb_xtalk_precision);
94 cout <<
"OverlapCatalog Name : " << fName << endl;
void write(char *filename)
param: file name
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<< "\ layers : "<< nLAYERS<< "\ dF(hz) : "<< dF<< "\ 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
cout<< "cwb_xtalk.C - define wdm ..."<< endl;WDM< double > * wdm[NMAX_RES]
sprintf(tfres,"(1/%g)x(%g) (sec)x(Hz)", 2 *df, df)