Logo Coherent WaveBurst  
Reference Guide
Logo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
DrawAntennaPattern.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 "plots"
6 #define ODIR_NAME "."
7 #define OFILE_EXT "png"
8 //#define OFILE_EXT "root"
9 //#define WRITE_PLOT
10 
11 #define RESOLUTION 2
12 //#define RESOLUTION 4
13 
14 //#define COORDINATES "cWB"
15 #define COORDINATES "Geographic"
16 
17 //#define PROJECTION ""
18 #define PROJECTION "hammer"
19 //#define PROJECTION "sinusoidal"
20 
21 #define DISPLAY_WORLD_MAP
22 #define WORLD_MAP_DIR "$CWB_GWAT/data/"
23 
24 // polarization=0 -> |Fx| DPF
25 // polarization=1 -> |F+| DPF
26 // polarization=2 -> |Fx|/|F+| DPF
27 // polarization=3 -> sqrt(|F+|^2+|Fx|^2) DPF
28 // polarization=4 -> |Fx|^2 DPF
29 // polarization=5 -> |F+|^2 DPF
30 // polarization=6 -> Fx only with 1 detector
31 // polarization=7 -> F+ only with 1 detector
32 // polarization=8 -> F1x/F2x only with 2 detectors
33 // polarization=9 -> F1+/F2+ only with 2 detectors
34 // polarization=10 -> sqrt(|F1+|^2+|F1x|^2)/sqrt(|F2+|^2+|F2x|^2) only with 2 detectors
35 // polarization=11 -> The same as (10) but averaged over psi only with 2 detectors
36 
37 
38 TCanvas*
39 DrawAntennaPattern(TString network="L1H1V1", int polarization = 3, int palette = 0, bool btitle = true) {
40 
41  int nIFO=0;
42  TString ifo[10];
43  if(network.Contains("H1")) ifo[nIFO++]="H1"; // LHO1
44  if(network.Contains("L1")) ifo[nIFO++]="L1"; // LLO
45  if(network.Contains("G1")) ifo[nIFO++]="G1"; // GEO
46  if(network.Contains("V1")) ifo[nIFO++]="V1"; // VIRGO
47  if(network.Contains("T1")) ifo[nIFO++]="T1"; // TAMA
48  if(network.Contains("H2")) ifo[nIFO++]="H2"; // LHO2
49  if(network.Contains("A1")) ifo[nIFO++]="A1"; // AIGO
50  if(network.Contains("O1")) ifo[nIFO++]="O1"; // AURIGA
51  if(network.Contains("N1")) ifo[nIFO++]="N1"; // NAUTILUS
52  if(network.Contains("E1")) ifo[nIFO++]="E1"; // EXPLORER
53  if(network.Contains("A2")) ifo[nIFO++]="A2"; // AUSTRALIAN 90°
54  if(network.Contains("J1")) ifo[nIFO++]="J1"; // JAPANESE
55 
56  if(nIFO==0) {cout << "No detectors defined !!! " << endl;exit(1);}
57 
58  char ifostr[32]="";
59  for(int n=0; n<nIFO; n++) {
60  sprintf(ifostr,"%s %s",ifostr,ifo[n].Data());
61  }
62  cout << "Network : " << ifostr << endl;
63 
64  gnetwork* gNET = new gnetwork;
65 
67  for(int i=0; i<nIFO; i++) pD[i] = new detector((char*)ifo[i].Data()); // built in detector
68  for(int i=0; i<nIFO; i++) gNET->add(pD[i]);
69 
70  gskymap* gSM = gNET->GetGskymap();
72 // gSM->SetOptions("LVC experiment", 300,40, 1200, 670);
73 
74 #ifdef DISPLAY_WORLD_MAP
75  TString world_map = gSystem->ExpandPathName(WORLD_MAP_DIR);
76  gSM->SetWorldMapPath(world_map.Data());
77  gSM->SetWorldMap();
78 #endif
79 
80  TH2D* h2 = (TH2D*)gSM->GetHistogram();
81  h2->GetXaxis()->SetTitleSize(0.05);
82  h2->GetXaxis()->SetLabelSize(0.05);
83  h2->GetYaxis()->SetTitleSize(0.05);
84  h2->GetYaxis()->SetLabelSize(0.05);
85  h2->GetYaxis()->SetLabelFont(42);
86  h2->GetYaxis()->SetLabelFont(42);
87  h2->GetXaxis()->SetTitleFont(42);
88  h2->GetYaxis()->SetTitleFont(42);
89 
90  if(polarization==3) {
91  if(nIFO>1) h2->GetZaxis()->SetRangeUser(0,1.0);
92  else h2->GetZaxis()->SetRangeUser(0,1.0);
93  }
94  if(polarization==2) h2->GetZaxis()->SetRangeUser(0,1.0);
95 
96  //detector* det = gNET->getifo(0);
97  //det->rotate(-70);
99  //gNET->DrawDelay("H1","L1");
100  //cout << gNET->GetDelay("H1","L1",0,50) << endl;
101  //cout << gNET->GetDelay("H1","L1",0,120) << endl;
102  //gNET->DrawCircles(100,60,(Color_t)kWhite);
103  //gNET->ClearCircles();
104  //gNET->DrawSites(kBlue,1.0);
105  //gNET->DrawSitesLabel(kBlue,0.05);
106  //gNET->DrawSites(kBlack,2.0);
107  //gNET->DrawSites(kBlack,2.5);
108  gNET->DrawSitesShortLabel(kBlack);
109  //gNET->DrawSitesLabel(kWhite,0.05);
110  gNET->DrawSites(kBlack,2.0);
111  gNET->DrawSitesArms(1000000,kWhite,3.0);
112 
113  cout << "SkyMap Mean : " << gSM->mean() << endl;
114 
115 #ifdef WRITE_PLOT
116  char ofileName[128]=ODIR_NAME;
117  sprintf(ofileName,"%s/",ofileName);
118  for(int n=0; n<nIFO; n++) {
119  sprintf(ofileName,"%s%s",ofileName,ifo[n].Data());
120  }
121  if(polarization==0) sprintf(ofileName,"%s%s.%s",ofileName,"_Fc",OFILE_EXT);
122  if(polarization==1) sprintf(ofileName,"%s%s.%s",ofileName,"_Fp",OFILE_EXT);
123  if(polarization==2) sprintf(ofileName,"%s%s.%s",ofileName,"_Fc_over_Fp",OFILE_EXT);
124  if(polarization==3) sprintf(ofileName,"%s%s.%s",ofileName,"_Sqrt_Fp2_plus_Fc2",OFILE_EXT);
125 
126  cout << "Write : " << ofileName << endl;
127  gSM->Print(ofileName);
128  exit(0);
129 #endif
130 
131  return gSM->GetCanvas(); // used by THtml
132 }
133 
#define RESOLUTION
TH2D * GetHistogram()
Definition: gskymap.hh:120
gskymap * gSM
gnetwork * gNET
#define PROJECTION
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 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
TCanvas * DrawAntennaPattern(TString network="L1H1V1", int polarization=3, int palette=0, bool btitle=true)
#define COORDINATES
char ifostr[64]
int polarization
i drho i
char ifo[NIFO_MAX][8]
double mean()
Definition: skymap.cc:462
#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
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
TString ofileName
Definition: MergeTrees.C:37
gskymap * GetGskymap()
Definition: gnetwork.hh:26
#define WORLD_MAP_DIR
#define OFILE_EXT
void SetWorldMap(bool drawWorldMap=true)
Definition: gskymap.hh:136
sprintf(tfres,"(1/%g)x(%g) (sec)x(Hz)", 2 *df, df)
bool btitle
Definition: DrawGnetwork2.C:16
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
detector ** pD
#define ODIR_NAME
exit(0)