Logo Coherent WaveBurst  
Reference Guide
Logo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ConvertGWGC.C
Go to the documentation of this file.
1 //
2 // convert GWGCCatalog_Rev1d7.txt format to GWGC format for inspiral input sky distribution
3 // Author : Gabriele Vedovato
4 
5 {
6  #define GWGC_FILE "../data/GWGCCatalog_Rev1d7.txt"
7  #define GWGC_FILE_INSP "../data/GWGCCatalog_Rev1d7_InspiralFormat.txt"
8 
9  ifstream in;
10  in.open(GWGC_FILE,ios::in);
11  if (!in.good()) {cout << "Error Opening Input File : " << GWGC_FILE << endl;exit(1);}
12  cout << "Opening Input File : " << GWGC_FILE << endl;
13 
14  // get number of entries
15  int entries=0;
16  char str[1024];
17  while(true) {
18  in.getline(str,1024);
19  if (!in.good()) break;
20  if(str[0] != '#') entries++;
21  }
22  cout << "entries " << entries << endl;
23  in.clear(ios::goodbit);
24  in.seekg(0, ios::beg);
25 
26  ofstream out;
27  out.open(GWGC_FILE_INSP,ios::out);
28  if (!out.good()) {cout << "Error Opening Output File : " << GWGC_FILE_INSP << endl;exit(1);}
29 
30 int cnt=0;
31  char iline[1024];
32  in.getline(iline,1024); // skip first line (header)
33  while (1) {
34 
35  in.getline(iline,1024);
36  if (!in.good()) break;
37  TObjArray* tok = TString(iline).Tokenize(TString('|'));
38 
39  TObjString* tname = (TObjString*)tok->At(1);
40  TObjString* tra = (TObjString*)tok->At(2);
41  TObjString* tdec = (TObjString*)tok->At(3);
42  TObjString* tdist = (TObjString*)tok->At(14);
43  TObjString* tabs_mag = (TObjString*)tok->At(13);
44 
45  TString name = tname->GetString();
46  double ra = tra->GetString().Atof();
47  double DEC = tdec->GetString().Atof();
48  double dist = tdist->GetString().Atof(); // Mpc
49  double lum = tabs_mag->GetString().Atof();
50 
51  DEC = DEC>0 ? 90-DEC : -DEC-90;
52  ra-=12;
53 // dist*=1000; // Kpc
54 
55  int dec_d = int(DEC);
56  int dec_m = int((DEC-dec_d)*60.);
57  if(dec_d<0) dec_d=-dec_d;
58  if(dec_m<0) dec_m=-dec_m;
59  char dec_sgn = DEC>=0 ? '+' : '-';
60 
61  int ra_h = int(ra);
62  int ra_m = int(60.*(ra-ra_h));
63  if(ra_h<0) ra_h=-ra_h;
64  if(ra_m<0) ra_m=-ra_m;
65  char ra_sgn = ra>=0 ? '+' : '-';
66 
67  out << name.Data() << "\t" << ra_sgn <<ra_h <<":"<<ra_m << "\t"
68  << dec_sgn<<dec_d<<":"<<dec_m << "\t"
69  << dist << "\t" << lum << "\t" << 1 << endl;
70 /*
71 if((cnt++)%1000==0) {
72 cout << "ra " << ra << " dec " << DEC << " dist " << endl;
73  cout << name.Data() << "\t" << ra_sgn <<ra_h <<":"<<ra_m << "\t"
74  << dec_sgn<<dec_d<<":"<<dec_m << "\t"
75  << dist << "\t" << lum << "\t" << 1 << endl;
76 //exit(0);
77 }
78 */
79  }
80 
81  out.close();
82 
83  exit(0);
84 }
TObjString * tdist
Definition: ConvertGWGC.C:42
double dist
Definition: ConvertGWGC.C:48
int dec_m
Definition: ConvertGWGC.C:56
TString("c")
double DEC
Definition: ConvertGWGC.C:47
TObjString * tabs_mag
Definition: ConvertGWGC.C:43
int dec_d
Definition: ConvertGWGC.C:55
double lum
Definition: ConvertGWGC.C:49
ofstream out
Definition: cwb_merge.C:196
double ra
Definition: ConvertGWGC.C:46
char str[1024]
i() int(T_cor *100))
#define GWGC_FILE_INSP
#define GWGC_FILE
TString name
Definition: ConvertGWGC.C:45
ifstream in
int cnt
TObjString * tra
Definition: ConvertGWGC.C:40
TObjString * tdec
Definition: ConvertGWGC.C:41
exit(0)