Changeset 18 for trunk/src/SDMemTable.cc
- Timestamp:
- 06/30/04 16:34:24 (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/SDMemTable.cc
r16 r18 47 47 #include <aips/Tables/ScalarColumn.h> 48 48 #include <aips/Tables/ArrayColumn.h> 49 #include <aips/Tables/TableRecord.h> 50 49 51 50 52 #include "SDMemTable.h" … … 53 55 using namespace atnf_sd; 54 56 57 SDMemTable::SDMemTable() : 58 IFSel_(0), 59 beamSel_(0), 60 polSel_(0) { 61 setup(); 62 } 55 63 SDMemTable::SDMemTable(const std::string& name) : 56 64 IFSel_(0), … … 58 66 polSel_(0) { 59 67 name_ = String(name); 60 setup(); 68 Table tab(name_); 69 table_ = tab.copyToMemoryTable(name_); 61 70 } 62 71 … … 101 110 TableDesc td("", "1", TableDesc::Scratch); 102 111 td.comment() = "A SDMemTable"; 103 //td.rwKeywordSet().define("VERSION",Float(0.1));104 112 td.addColumn(ScalarColumnDesc<Double>("TIME")); 105 113 td.addColumn(ScalarColumnDesc<String>("SRCNAME")); … … 110 118 td.addColumn(ScalarColumnDesc<Double>("INTERVAL")); 111 119 // Now create a new table from the description. 120 112 121 SetupNewTable aNewTab(name_, td, Table::New); 113 122 table_ = Table(aNewTab, Table::Memory, 0); … … 293 302 return true; 294 303 } 304 305 bool SDMemTable::putSDHeader(const SDHeader& sdh) { 306 table_.lock(); 307 table_.rwKeywordSet().define("nIF", sdh.nif); 308 table_.rwKeywordSet().define("nBeam", sdh.nbeam); 309 table_.rwKeywordSet().define("nPol", sdh.npol); 310 table_.rwKeywordSet().define("nChan", sdh.nchan); 311 table_.rwKeywordSet().define("Observer", sdh.observer); 312 table_.rwKeywordSet().define("Project", sdh.project); 313 table_.rwKeywordSet().define("Obstype", sdh.obstype); 314 table_.rwKeywordSet().define("AntennaName", sdh.antennaname); 315 table_.rwKeywordSet().define("AntennaPosition", sdh.antennaposition); 316 table_.rwKeywordSet().define("Equinox", sdh.equinox); 317 table_.rwKeywordSet().define("FreqRefFrame", sdh.freqref); 318 table_.rwKeywordSet().define("FreqRefVal", sdh.reffreq); 319 table_.rwKeywordSet().define("Bandwidth", sdh.bandwidth); 320 table_.rwKeywordSet().define("UTC", sdh.utc); 321 table_.unlock(); 322 cerr << "Table Header set" << endl; 323 return true; 324 } 325 295 326 void SDMemTable::makePersistent(const std::string& filename) { 296 327 table_.deepCopy(filename,Table::New); … … 298 329 299 330 void SDMemTable::summary() const { 300 cerr << "SDMemTable::summary()" << endl;301 331 ROScalarColumn<Int> scans(table_, "SCANID"); 302 332 ROScalarColumn<String> srcs(table_, "SRCNAME"); 333 cout << "*************** Header ***************" << endl; 334 cout << "nBeam = " << nBeam() << "\t" 335 << "nIF = " << nIF() << endl 336 << "nPol = " << nPol() << "\t" 337 << "nChan = " << nChan() << "\t" << endl; 338 cout << "*************** Header ***************" << endl; 303 339 uInt count = 0; 304 340 String name; … … 316 352 } 317 353 } 318 cout << "Table contains " << table_.nrow() << "integrations." << endl; 319 cout << "in " << count << "scans." << endl; 320 } 354 cout << "Table contains " << table_.nrow() << " integration(s)." << endl; 355 cout << "in " << count << " scan(s)." << endl; 356 } 357 358 Int SDMemTable::nBeam() const { 359 Int n; 360 table_.keywordSet().get("nBeam",n); 361 return n; 362 } 363 Int SDMemTable::nIF() const { 364 Int n; 365 table_.keywordSet().get("nIF",n); 366 return n; 367 } 368 Int SDMemTable::nPol() const { 369 Int n; 370 table_.keywordSet().get("nPol",n); 371 return n; 372 } 373 Int SDMemTable::nChan() const { 374 Int n; 375 table_.keywordSet().get("nChan",n); 376 return n; 377 } 378 321 379 /* 322 void maskChannels(const std::vector<Int>& whichChans ) {380 void SDMemTable::maskChannels(const std::vector<Int>& whichChans ) { 323 381 324 382 std::vector<int>::iterator it;
Note: See TracChangeset
for help on using the changeset viewer.