Changeset 2328 in Sophya for trunk/ArchTOIPipe/TestPipes/quickmap_p.cc
- Timestamp:
- Feb 24, 2003, 10:18:01 AM (23 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ArchTOIPipe/TestPipes/quickmap_p.cc
r1820 r2328 2 2 // Parallel version 3 3 // Eric Aubourg CEA/DAPNIA/SPP 4 // $Id: quickmap_p.cc,v 1. 4 2001-12-17 23:33:46aubourg Exp $4 // $Id: quickmap_p.cc,v 1.5 2003-02-24 09:18:01 aubourg Exp $ 5 5 6 6 #include <stdlib.h> … … 13 13 #include "toisegment.h" 14 14 15 15 16 #include "sambainit.h" 16 17 #include "toi2map.h" … … 39 40 struct { 40 41 string fname; 42 string flagfname; 43 vector<FlagToiDef> flags; 41 44 string coord1; // TOI name 42 45 string coord2; // TOI name … … 45 48 struct { 46 49 string fname; 50 string flagfname; 51 vector<FlagToiDef> flags; 47 52 string toiname; 48 53 } signal; … … 72 77 cout << " | pointing\n"; 73 78 cout << " | | fname " << input.pointing.fname << "\n"; 79 cout << " | | flagfname " << input.pointing.flagfname << "\n"; 80 for (int i=0; i<input.pointing.flags.size(); i++) { 81 cout << " | | | flag " << i << " : " << input.pointing.flags[i] << "\n"; 82 } 74 83 cout << " | | coord1 " << input.pointing.coord1 << "\n"; 75 84 cout << " | | coord2 " << input.pointing.coord2 << "\n"; … … 85 94 cout << " | signal\n"; 86 95 cout << " | | fname " << input.signal.fname << "\n"; 96 cout << " | | flagfname " << input.signal.flagfname << "\n"; 97 {for (int i=0; i<input.signal.flags.size(); i++) { 98 cout << " | | | flag " << i << " : " << input.signal.flags[i] << "\n"; 99 }} 87 100 cout << " | | toiname " << input.signal.toiname << "\n"; 88 101 cout << " output\n"; … … 150 163 DOM_Node n = DOMGetNode(doc, path); 151 164 return n != 0; 165 } 166 167 void parseFlags(DOM_Node flagnode, vector<FlagToiDef>& flgs) { 168 DOM_Element elt = (DOM_Element&) flagnode; 169 DOM_NodeList l = elt.getElementsByTagName("flag"); 170 // prepare array 171 flgs.clear(); 172 flgs.insert(flgs.begin(), l.getLength(), (FlagToiDef)0); 173 for (int i = 0; i<l.getLength(); i++) { 174 DOM_Node node = l.item(i); 175 DOM_Element elt = (DOM_Element&) node; 176 DOMString scol = elt.getAttribute("column"); 177 DOMString sval = elt.getAttribute("kind"); 178 int col = atoi(scol.transcode()); 179 int value = atoi(sval.transcode()); 180 flgs[col-1] = (FlagToiDef) value; 181 } 152 182 } 153 183 … … 183 213 184 214 prefs.input.pointing.fname = DOMGetString(doc, "/input/pointing/fname"); 215 if (DOMHasOption(doc, "/input/pointing/flags")) { 216 prefs.input.pointing.flagfname = 217 DOMGetString(doc, "/input/pointing/flags/fname"); 218 DOM_Node flagnode = DOMGetNode(doc, "/input/pointing/flags"); 219 parseFlags(flagnode, prefs.input.pointing.flags); 220 } 185 221 prefs.input.pointing.coord1 = DOMGetString(doc, "/input/pointing/coord1","phi"); 186 222 prefs.input.pointing.coord2 = DOMGetString(doc, "/input/pointing/coord2","theta"); … … 209 245 prefs.input.signal.fname = DOMGetString(doc, "/input/signal/fname"); 210 246 prefs.input.signal.toiname = DOMGetString(doc, "/input/signal/toiname"); 211 247 if (DOMHasOption(doc, "/input/signal/flags")) { 248 prefs.input.signal.flagfname = 249 DOMGetString(doc, "/input/signal/flags/fname"); 250 DOM_Node flagnode = DOMGetNode(doc, "/input/signal/flags"); 251 parseFlags(flagnode, prefs.input.signal.flags); 252 } 212 253 prefs.output.fname = DOMGetString(doc, "/output/fname"); 213 254 prefs.output.wfname = DOMGetString(doc, "/output/wfname"); … … 276 317 inPoint[i]->setImplicitSN(); 277 318 inSig[i]->setImplicitSN(); 319 if (prefs.input.pointing.flagfname != "") { 320 inPoint[i]->setFlagFile(prefs.input.pointing.flagfname, prefs.input.pointing.flags); 321 } 322 if (prefs.input.signal.flagfname != "") { 323 inSig[i]->setFlagFile(prefs.input.signal.flagfname, prefs.input.signal.flags); 324 } 278 325 } 279 326
Note:
See TracChangeset
for help on using the changeset viewer.