Logo Coherent WaveBurst  
Reference Guide
Logo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
DrawAntennaPatternScalar.C
Go to the documentation of this file.
1 //
2 // Draw Antenna Pattern for Builtin Detectors
3 // Author : Gabriele Vedovato
4 
5 #define ODIR_NAME "."
6 #define OFILE_EXT "png"
7 //#define OFILE_EXT "root"
8 //#define WRITE_PLOT
9 
10 #define RESOLUTION 2
11 //#define RESOLUTION 4
12 
13 //#define COORDINATES "cWB"
14 #define COORDINATES "Geographic"
15 
16 #define PROJECTION ""
17 //#define PROJECTION "hammer"
18 //#define PROJECTION "sinusoidal"
19 
20 #define DISPLAY_WORLD_MAP
21 #define WORLD_MAP_DIR "$CWB_GWAT/data/"
22 
23 //#define HEALPIX
24 
26 
27 // polarization=0 -> |Fx| DPF
28 // polarization=1 -> |F+| DPF
29 // polarization=2 -> |Fx|/|F+| DPF
30 // polarization=3 -> sqrt(|F+|^2+|Fx|^2) DPF
31 // polarization=4 -> |Fx|^2 DPF
32 // polarization=5 -> |F+|^2 DPF
33 // polarization=6 -> Fx only with 1 detector
34 // polarization=7 -> F+ only with 1 detector
35 // polarization=8 -> F1x/F2x only with 2 detectors
36 // polarization=9 -> F1+/F2+ only with 2 detectors
37 // polarization=10 -> sqrt(|F1+|^2+|F1x|^2)/sqrt(|F2+|^2+|F2x|^2) only with 2 detectors
38 // polarization=11 -> The same as (10) but averaged over psi only with 2 detectors
39 
40 using namespace CWB;
41 
42 TCanvas*
43 DrawAntennaPatternScalar(TString network="L1H1V1", int polarization = 3, int palette = 0, bool btitle = true) {
44 
45  int nIFO=0;
46  TString ifo[10];
47  if(network.Contains("H1")) ifo[nIFO++]="H1"; // LHO1
48  if(network.Contains("L1")) ifo[nIFO++]="L1"; // LLO
49  if(network.Contains("G1")) ifo[nIFO++]="G1"; // GEO
50  if(network.Contains("V1")) ifo[nIFO++]="V1"; // VIRGO
51  if(network.Contains("T1")) ifo[nIFO++]="T1"; // TAMA
52  if(network.Contains("H2")) ifo[nIFO++]="H2"; // LHO2
53  if(network.Contains("A1")) ifo[nIFO++]="A1"; // AIGO
54  if(network.Contains("O1")) ifo[nIFO++]="O1"; // AURIGA
55  if(network.Contains("N1")) ifo[nIFO++]="N1"; // NAUTILUS
56  if(network.Contains("E1")) ifo[nIFO++]="E1"; // EXPLORER
57  if(network.Contains("A2")) ifo[nIFO++]="A2"; // AUSTRALIAN 90°
58  if(network.Contains("J1")) ifo[nIFO++]="J1"; // JAPANESE
59 
60  if(nIFO==0) {cout << "No detectors defined !!! " << endl;exit(1);}
61 
62  char ifostr[32]="";
63  for(int n=0; n<nIFO; n++) {
64  sprintf(ifostr,"%s %s",ifostr,ifo[n].Data());
65  }
66  cout << "Network : " << ifostr << endl;
67 
68  gnetwork* gNET = new gnetwork;
69 
71  for(int i=0; i<nIFO; i++) pD[i] = new detector((char*)ifo[i].Data()); // built in detector
72  for(int i=0; i<nIFO; i++) gNET->add(pD[i]);
73 
74  gskymap* gSM = gNET->GetGskymap();
76 // gSM->SetOptions("LVC experiment", 300,40, 1200, 670);
77 
78 #ifdef DISPLAY_WORLD_MAP
79  TString world_map = gSystem->ExpandPathName(WORLD_MAP_DIR);
80  gSM->SetWorldMapPath(world_map.Data());
81  gSM->SetWorldMap();
82 #endif
83 
84  TH2D* h2 = (TH2D*)gSM->GetHistogram();
85  h2->GetXaxis()->SetTitleSize(0.05);
86  h2->GetXaxis()->SetLabelSize(0.05);
87  h2->GetYaxis()->SetTitleSize(0.05);
88  h2->GetYaxis()->SetLabelSize(0.05);
89 // For CHRIS
90  h2->GetYaxis()->SetLabelFont(42);
91  h2->GetYaxis()->SetLabelFont(42);
92  h2->GetXaxis()->SetTitleFont(42);
93  h2->GetYaxis()->SetTitleFont(42);
94 
95  if(polarization==3) {
96  //if(nIFO>1) h2->GetZaxis()->SetRangeUser(0,1.7);
97  if(nIFO>1) h2->GetZaxis()->SetRangeUser(0,1.0);
98  else h2->GetZaxis()->SetRangeUser(0,1.0);
99  }
100  if(polarization==2) h2->GetZaxis()->SetRangeUser(0,1.0);
101 
102  if(GW==SCALAR) {
103  for(int n=0;n<(int)gNET->ifoListSize();n++) {
104  detector *d = gNET->getifo(n);
106  }
107 #ifdef HEALPIX
108  int healpix_order = 2; // set the resolution of the HEALPix skygrid
109  gNET->setSkyMaps((int)healpix_order);
110  gNET->setAntenna();
111 #endif
112  }
113  //detector* det = net->getifo(0);
114  //det->rotate(-70);
116  //gNET->DrawDelay("H1","L1");
117  //cout << gNET->GetDelay("H1","L1",0,50) << endl;
118  //cout << gNET->GetDelay("H1","L1",0,120) << endl;
119  //gNET->DrawCircles(100,60,kWhite);
120  //gNET->ClearCircles();
121  //gNET->DrawSites(kBlue,1.0);
122  //gNET->DrawSitesLabel(kBlue,0.05);
123  //gNET->DrawSites(kBlack,2.0);
124  //gNET->DrawSites(kBlack,2.5);
125  gNET->DrawSitesShortLabel(kBlack);
126  //gNET->DrawSitesLabel(kWhite,0.05);
127  gNET->DrawSites(kBlack,2.0);
128  gNET->DrawSitesArms(1000000,kWhite,3.0);
129  if(GW==SCALAR) {
130  if(polarization==1) {
131  TString pTitle=TString("|F_{o}|");
132  h2->SetTitle(TString("Network = ")+network+" Antenna Pattern = "+pTitle);
133  }
134  if(polarization==5 || polarization==3 || polarization==4) {
135  TString pTitle=TString("|F_{o}|^{2}");
136  h2->SetTitle(TString("Network = ")+network+" Antenna Pattern = "+pTitle);
137  }
138  }
139 
140 #ifdef WRITE_PLOT
141  char ofileName[128]=ODIR_NAME;
142  sprintf(ofileName,"%s/",ofileName);
143  for(int n=0; n<nIFO; n++) {
144  sprintf(ofileName,"%s%s",ofileName,ifo[n].Data());
145  }
146  if(GW==SCALAR) {
147  if(polarization==1) sprintf(ofileName,"%s%s.%s",ofileName,"_Fo",OFILE_EXT);
148  if(polarization==3) sprintf(ofileName,"%s%s.%s",ofileName,"_Fo",OFILE_EXT);
149  if(polarization==4) sprintf(ofileName,"%s%s.%s",ofileName,"_Fo2",OFILE_EXT);
150  if(polarization==5) sprintf(ofileName,"%s%s.%s",ofileName,"_Fo2",OFILE_EXT);
151  } else {
152  if(polarization==0) sprintf(ofileName,"%s%s.%s",ofileName,"_Fc",OFILE_EXT);
153  if(polarization==1) sprintf(ofileName,"%s%s.%s",ofileName,"_Fp",OFILE_EXT);
154  if(polarization==2) sprintf(ofileName,"%s%s.%s",ofileName,"_Fc_over_Fp",OFILE_EXT);
155  if(polarization==3) sprintf(ofileName,"%s%s.%s",ofileName,"_Sqrt_Fp2_plus_Fc2",OFILE_EXT);
156  if(polarization==4) sprintf(ofileName,"%s%s.%s",ofileName,"_Fc2",OFILE_EXT);
157  if(polarization==5) sprintf(ofileName,"%s%s.%s",ofileName,"_Fp2",OFILE_EXT);
158  }
159  cout << "Write : " << ofileName << endl;
160  gSM->Print(ofileName);
161  exit(0);
162 #endif
163 
164  return gSM->GetCanvas();
165 }
166 
detector * getifo(size_t n)
param: detector index
Definition: network.hh:418
TH2D * GetHistogram()
Definition: gskymap.hh:120
gskymap * gSM
#define COORDINATES
gnetwork * gNET
size_t add(detector *)
param: detector structure return number of detectors in the network
Definition: network.cc:2528
void DrawSitesArms(double mlength=600000., Color_t lcolor=kBlack, Size_t lwidth=1.0, Style_t lstyle=1)
Definition: gnetwork.cc:295
void setAntenna(detector *)
param: detector (use theta, phi index array)
Definition: network.cc:2815
Definition: ced.hh:24
void DrawAntennaPattern(int polarization=-1, int dpaletteId=0, bool btitle=true, int order=6)
Definition: gnetwork.cc:655
int n
Definition: cwb_net.C:10
TString("c")
int palette
Definition: DrawGnetwork2.C:17
char ifostr[64]
int polarization
void setPolarization(POLARIZATION polarization=TENSOR)
Definition: detector.hh:288
i drho i
char ifo[NIFO_MAX][8]
size_t ifoListSize()
Definition: network.hh:413
#define nIFO
TString world_map
Definition: DrawGNET.C:16
void DrawSitesShortLabel(Color_t tcolor=kBlack, Size_t tsize=0.052, Font_t tfont=32)
Definition: gnetwork.cc:407
void setSkyMaps(double sms, double t1, double t2, double p1, double p2)
Definition: gnetwork.hh:29
#define WORLD_MAP_DIR
i() int(T_cor *100))
const int NIFO_MAX
Definition: wat.hh:4
void DrawSites(Color_t mcolor=kBlack, Size_t msize=2.0, Style_t mstyle=20)
Definition: gnetwork.cc:238
TCanvas * GetCanvas()
Definition: gskymap.hh:119
void SetWorldMapPath(TString worldMapPath)
Definition: gskymap.hh:138
#define RESOLUTION
TString ofileName
Definition: MergeTrees.C:37
POLARIZATION GW
gskymap * GetGskymap()
Definition: gnetwork.hh:26
void SetWorldMap(bool drawWorldMap=true)
Definition: gskymap.hh:136
TCanvas * DrawAntennaPatternScalar(TString network="L1H1V1", int polarization=3, int palette=0, bool btitle=true)
sprintf(tfres,"(1/%g)x(%g) (sec)x(Hz)", 2 *df, df)
bool btitle
Definition: DrawGnetwork2.C:16
#define OFILE_EXT
POLARIZATION
Definition: detector.hh:42
void Print(TString pname)
Definition: gskymap.cc:1104
void SetOptions(TString projection="hammer", TString coordinate="Geographic", double resolution=1, bool goff=false)
Definition: gskymap.cc:66
#define PROJECTION
detector ** pD
exit(0)
#define ODIR_NAME