Logo coherent WaveBurst  
Library Reference Guide
Logo
TestMDC.C
Go to the documentation of this file.
1 {
2  //
3  // Instantiation of object CWB::mdc and setup of waveforms, sky distribution
4  // Author : Gabriele Vedovato
5 
6  #define N_IFO 3
7  #define NWAVEFORM 15
8 
9  double F[NWAVEFORM];
10  double Q[NWAVEFORM];
11 
12  F[0]=70; Q[0]=8.9;
13  F[1]=100; Q[1]=8.9;
14  F[2]=153; Q[2]=8.9;
15  F[3]=235; Q[3]=8.9;
16  F[4]=361; Q[4]=8.9;
17  F[5]=554; Q[5]=8.9;
18  F[6]=849; Q[6]=8.9;
19  F[7]=945; Q[7]=9;
20  F[8]=1053; Q[8]=9;
21  F[9]=1172; Q[9]=9;
22  F[10]=1304; Q[10]=9;
23  F[11]=1451; Q[11]=9;
24  F[12]=1615; Q[12]=9;
25  F[13]=1797; Q[13]=9;
26  F[14]=2000; Q[14]=9;
27 
28 
29  TString ifo[N_IFO]={"L1","H1","V1"};
30  CWB::mdc MDC(N_IFO,ifo);
31 
32  char wf_name[256];
34  for (int n=0;n<NWAVEFORM;n++) {
35  sprintf(wf_name,"SG%fQ%1.1f",F[n],Q[n]);
36  wf.name = wf_name;
37  wf.type = MDC_USER;
38  wf.name.ReplaceAll(".","d");
39  wf.name.ReplaceAll("d0","");
40  wf.hp = MDC.GetSGQ(F[n],Q[n]);
41  wf.hx = wf.hp;
42  wf.hx = 0;
43  MDC.AddWaveform(wf);
44  }
45  MDC.Print();
46 
47  vector<mdcpar> par(3);
48  par[0].name="entries"; par[0].value=100000;
49  par[1].name="rho_min"; par[1].value=5;
50  par[2].name="rho_max"; par[2].value=10;
52 
53  //vector<mdcpar> par(1);
54  //par[0].name="entries"; par[0].value=100000;
55  //MDC.SetSkyDistribution(MDC_MNGD,par);
56 
57  //vector<mdcpar> par(1);
58  //par[0].name="distance_thr"; par[0].value=100;
59  //MDC.SetSkyDistribution(MDC_GWGC,"../data/GWGCCatalog_Rev1d7.txt",par);
60 
61 /*
62  vector<mdcpar> par(3);
63  par[0].name="theta"; par[0].value=30;
64  par[1].name="phi"; par[1].value=60;
65  par[2].name="rho"; par[2].value=1;
66  MDC.SetSkyDistribution(MDC_EARTH_FIX,par);
67 */
68 
69  double theta; double phi; double psi; double rho;
70  double xiota; double hrss; int ID; int id;
71  for(int n=0;n<10;n++) {
72  MDC.GetSourceCoordinates(theta, phi, psi, rho,xiota, hrss, ID, id);
73  cout << "Source : " << theta << " " << phi << " " << psi << " " << rho
74  << xiota << " " << hrss << " " << ID << " " << id << endl;
75  }
76 
77  //MDC.DrawSkyDistribution("skyplot","","geographic",2,true);
78 
79  //MDC.AddWaveform("SG554Q8d9","Waveforms/SG554Q8d9.txt");
80 
81  //waveform wf = MDC.GetWaveform("SG554Q8d9",0);
82  //wf.name="SG554Q8d9_CLONE";
83  //MDC.AddWaveform(wf);
84 
85  //wavearray<double> wnb = MDC.GetWNB(1000., 1000., 0.01);
86  //MDC.Draw(wnb);
87  //MDC.Draw(wnb,MDC_FFT);
88  //MDC.Draw(wnb,MDC_TF);
89 
90  //wavearray<double> rd = MDC.GetRD(1000., 0.2, 10.);
91  //MDC.Draw(rd);
92  //MDC.Draw(rd,MDC_TF);
93 
94  //wavearray<double> sgq = MDC.GetSGQ(554., 8.9);
95  //MDC.Draw(sgq);
96  //MDC.Draw(sgq,MDC_TF);
97 
98  //cout << MDC.wfList[0].hp.size() << endl;
99 
100  MDC.wfList[14].hx=MDC.wfList[14].hp;
101  MDC.TimeShift(MDC.wfList[14].hx,0.001);
102  //MDC.PhaseShift(MDC.wfList[0].hx,90);
103 
104  //MDC.Print();
105 
106  //MDC.Draw(14,0,"hp",MDC_TIME);
107  //MDC.Draw(14,0,"hx",MDC_TIME,"same",kRed);
108 
109  // resampling waveform
112  wavearray<double> hx = MDC.wfList[14].hx;
113  int size = hp.size();
114  int rate = hp.rate();
115  hp.FFT(1);
116  hp.resize(resampling_factor*size);
117  hp.rate(resampling_factor*rate);
118  for(int i=size;i<resampling_factor*size;i++) hp[i]=0;
119  hp.FFT(-1);
120  hx.FFT(1);
121  hx.resize(resampling_factor*size);
122  hx.rate(resampling_factor*rate);
123  for(int i=size;i<resampling_factor*size;i++) hx[i]=0;
124  hx.FFT(-1);
125  MDC.Draw(hp,MDC_TIME,"zoom");
126  MDC.Draw(hx,MDC_TIME,"same",kRed);
127 
128  //MDC.Draw(0,0,"hp",MDC_FFT);
129  //MDC.Draw(0,0,"hx",MDC_FFT,"same",kRed);
130 
131  //MDC.Draw(0,0,"hp",MDC_TF);
132 
133 /*
134 
135  MDC.SetInjRate(0.1);
136  MDC.SetInjTimeJitter(1.0);
137 
138  double srate=16384,;
139  wavearray<double> x(25*srate);
140  x.rate(srate);
141  x.start(10000000.);
142  MDC.Get(x,"L1");
143  //for(int i=0;i<x.size();i++) x[i]=i;
144  //MDC.Draw(x);
145  //MDC.Draw(x,MDC_FFT);
146  //MDC.Draw(x,MDC_TF);
147 */
148 
149  //exit(0);
150 }
wavearray< double > hp
Definition: TestMDC.C:111
#define NWAVEFORM
Definition: mdc.hh:202
double phi
Definition: TestMDC.C:69
watplot * Draw(TString name, int id=0, TString polarization="hp", MDC_DRAW type=MDC_TIME, TString options="ALP", Color_t color=kBlack)
Definition: mdc.cc:2317
Definition: mdc.hh:219
double rho
Definition: TestMDC.C:69
virtual void rate(double r)
Definition: wavearray.hh:141
double xiota
Definition: TestMDC.C:70
TString ifo[N_IFO]
Definition: TestMDC.C:29
int n
Definition: cwb_net.C:28
TString("c")
wavearray< double > GetSGQ(double frequency, double Q)
Definition: mdc.cc:3005
int ID
Definition: TestMDC.C:70
void GetSourceCoordinates(double &theta, double &phi, double &psi, double &rho, double &iota, double &hrss, int &ID, int &id)
Definition: mdc.cc:1989
int rate
Definition: TestMDC.C:114
#define N_IFO
wavearray< double > hp
Definition: mdc.hh:226
F[0]
Definition: TestMDC.C:12
i drho i
int resampling_factor
Definition: TestMDC.C:110
mdcid AddWaveform(MDC_TYPE mdc_type, vector< mdcpar > par, TString uname="")
Definition: mdc.cc:472
void Print(int level=0)
Definition: mdc.cc:2736
void SetSkyDistribution(MDC_DISTRIBUTION sky_distribution, vector< mdcpar > par, int seed=0, bool add=false)
Definition: mdc.cc:3444
waveform wf
Definition: TestMDC.C:33
int size
Definition: TestMDC.C:113
virtual size_t size() const
Definition: wavearray.hh:145
Definition: mdc.hh:168
TString name
Definition: mdc.hh:222
double hrss
Definition: TestMDC.C:70
double Q[NWAVEFORM]
Definition: TestMDC.C:1
Definition: mdc.hh:248
CWB::mdc MDC(N_IFO, ifo)
int id
Definition: TestMDC.C:70
MDC wfList [14] hx
Definition: TestMDC.C:100
vector< waveform > wfList
Definition: mdc.hh:387
static void TimeShift(wavearray< double > &x, double tShift=0.)
Definition: mdc.cc:2903
wavearray< double > hx
Definition: mdc.hh:227
vector< mdcpar > par(3)
sprintf(tfres,"(1/%g)x(%g) (sec)x(Hz)", 2 *df, df)
double theta
Definition: TestMDC.C:69
char wf_name[256]
Definition: TestMDC.C:32
virtual void resize(unsigned int)
Definition: wavearray.cc:463
MDC_TYPE type
Definition: mdc.hh:220
virtual void FFT(int=1)
Definition: wavearray.cc:832
double psi
Definition: TestMDC.C:69