Changeset 754 for trunk/src/SDReader.cc
- Timestamp:
- 11/29/05 14:15:44 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/SDReader.cc
r717 r754 54 54 cursor_ = 0; 55 55 } 56 SDReader::SDReader(const std::string& filename, 56 SDReader::SDReader(const std::string& filename, 57 57 int whichIF, int whichBeam) : 58 58 reader_(0), … … 77 77 SDReader::~SDReader() { 78 78 if (reader_) delete reader_; 79 if (header_) delete header_; 79 if (header_) delete header_; 80 80 if (frequencies_) delete frequencies_; 81 81 } … … 92 92 } 93 93 94 void SDReader::open(const std::string& filename, 94 void SDReader::open(const std::string& filename, 95 95 int whichIF, int whichBeam) { 96 96 if (reader_) delete reader_; reader_ = 0; … … 151 151 // need robust way here - probably read ahead of next timestamp 152 152 pushLog("Header indicates frequency switched observation.\n" 153 153 "setting # of IFs = 1 "); 154 154 nIF_ = 1; 155 155 } … … 206 206 frequencies_ = new SDFrequencyTable(); 207 207 frequencies_->setRefFrame(header_->freqref); 208 frequencies_->setBaseRefFrame(header_->freqref); 208 209 frequencies_->setRestFrequencyUnit("Hz"); 209 210 frequencies_->setEquinox(header_->equinox); … … 252 253 // Make sure beam/IF numbers are 0-relative - dealing with 253 254 // possible IF or Beam selection 254 beamNo = beamNo - beamOffset_ - 1; 255 beamNo = beamNo - beamOffset_ - 1; 255 256 IFno = IFno - ifOffset_ - 1; 256 257 … … 258 259 if (status == -1) { 259 260 // EOF. 260 if (row > 0 && row < stepsize-1) 261 262 263 261 if (row > 0 && row < stepsize-1) 262 pushLog("incomplete scan data.\n Probably means not all Beams/IFs/Pols within a scan are present."); 263 264 // flush frequency table 264 265 table_->putSDFreqTable(*frequencies_); 265 266 return status; … … 277 278 sc.interval = interval; 278 279 sc.sourcename = srcName; 279 280 281 280 sc.fieldname = fieldName; 281 sc.azimuth = azimuth; 282 sc.elevation = elevation; 282 283 } 283 284 // add specific info … … 285 286 Int refPix = header_->nchan/2; // 0-rel 286 287 uInt freqID = frequencies_->addFrequency(refPix, refFreq, freqInc); 287 288 uInt restFreqID = frequencies_->addRestFrequency(restFreq); 288 289 289 290 sc.setFrequencyMap(freqID, IFno); 290 291 sc.setRestFrequencyMap(restFreqID, IFno); 291 292 292 293 294 295 296 297 298 299 293 sc.tcal[0] = tcal[0];sc.tcal[1] = tcal[1]; 294 sc.tcaltime = tcalTime; 295 sc.parangle = parAngle; 296 sc.refbeam = -1; //nbeams == 1 297 if (nBeam_ > 1) // circumvent a bug "asap0000" in read which 298 // returns a random refbema number on multiple 299 // reads 300 sc.refbeam = refBeam-1;//make it 0-based; 300 301 sc.scanid = scanNo-1;//make it 0-based 301 302 if (haveXPol_) {
Note: See TracChangeset
for help on using the changeset viewer.