Changeset 3106 for trunk/external-alma/asdm2ASAP/ASDMFiller.cc
- Timestamp:
- 10/04/16 18:20:50 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/external-alma/asdm2ASAP/ASDMFiller.cc
r2869 r3106 90 90 //logsink_->postLocally( LogMessage("sFreqFrame = "+sFreqFrame,LogOrigin(className_,funcName,WHERE)) ) ; 91 91 92 Vector<casa ::Double> antpos = table_->getHeader().antennaposition ;92 Vector<casacore::Double> antpos = table_->getHeader().antennaposition ; 93 93 94 94 // data selection … … 194 194 195 195 // fill MOLECULE_ID and add MOLECULES row if necessary 196 Vector<casa ::Double> restFreqs( rf.size() ) ;196 Vector<casacore::Double> restFreqs( rf.size() ) ; 197 197 for ( uInt i = 0 ; i < rf.size() ; i++ ) 198 restFreqs[i] = (casa ::Double)(rf[i]) ;198 restFreqs[i] = (casacore::Double)(rf[i]) ; 199 199 setMolecule( restFreqs ) ; 200 200 201 201 // time and interval 202 casa ::Double mjd = (casa::Double)(reader_->getTime()) ;203 casa ::Double interval = (casa::Double)(reader_->getInterval()) ;202 casacore::Double mjd = (casacore::Double)(reader_->getTime()) ; 203 casacore::Double interval = (casacore::Double)(reader_->getInterval()) ; 204 204 //logsink_->postLocally( LogMessage("mjd = "+String::toString(mjd),LogOrigin(className_,funcName,WHERE)) ) ; 205 205 … … 208 208 209 209 // fill SRCNAME, SRCTYPE, FIELDNAME, SRCDIRECTION, SRCPROPERMOTION, and SRCVELOCITY 210 Vector<casa ::Double> srcDir( 2 ) ;211 srcDir[0] = (casa ::Double)(srcDirection[0]) ;212 srcDir[1] = (casa ::Double)(srcDirection[1]) ;213 Vector<casa ::Double> srcPM( 2 ) ;214 srcPM[0] = (casa ::Double)(srcProperMotion[0]) ;215 srcPM[1] = (casa ::Double)(srcProperMotion[1]) ;216 setSource( srcname, srctype, fieldname, srcDir, srcPM, (casa ::Double)sysVel ) ;210 Vector<casacore::Double> srcDir( 2 ) ; 211 srcDir[0] = (casacore::Double)(srcDirection[0]) ; 212 srcDir[1] = (casacore::Double)(srcDirection[1]) ; 213 Vector<casacore::Double> srcPM( 2 ) ; 214 srcPM[0] = (casacore::Double)(srcProperMotion[0]) ; 215 srcPM[1] = (casacore::Double)(srcProperMotion[1]) ; 216 setSource( srcname, srctype, fieldname, srcDir, srcPM, (casacore::Double)sysVel ) ; 217 217 218 218 // fill FLAGROW … … 231 231 windspeed, 232 232 windaz ) ; 233 setWeather2( (casa ::Float)temperature,234 (casa ::Float)pressure,235 (casa ::Float)humidity,236 (casa ::Float)windspeed,237 (casa ::Float)windaz ) ;233 setWeather2( (casacore::Float)temperature, 234 (casacore::Float)pressure, 235 (casacore::Float)humidity, 236 (casacore::Float)windspeed, 237 (casacore::Float)windaz ) ; 238 238 //logsink_->postLocally( LogMessage("temperature = "+String::toString(temperature),LogOrigin(className_,funcName,WHERE)) ) ; 239 239 // fill AZIMUTH, ELEVATION, DIRECTION and SCANRATE … … 246 246 el, 247 247 srate ) ; 248 Vector<casa ::Double> scanRate( 2, 0.0 ) ;249 Vector<casa ::Double> direction( 2, 0.0 ) ;248 Vector<casacore::Double> scanRate( 2, 0.0 ) ; 249 Vector<casacore::Double> direction( 2, 0.0 ) ; 250 250 if ( srate.size() > 0 ) { 251 scanRate[0] = (casa ::Double)(srate[0]) ;252 scanRate[1] = (casa ::Double)(srate[1]) ;251 scanRate[0] = (casacore::Double)(srate[0]) ; 252 scanRate[1] = (casacore::Double)(srate[1]) ; 253 253 } 254 254 setScanRate( scanRate ) ; 255 255 if ( dir.size() > 0 ) { 256 direction[0] = (casa ::Double)(dir[0]) ;257 direction[1] = (casa ::Double)(dir[1]) ;256 direction[0] = (casacore::Double)(dir[0]) ; 257 direction[1] = (casacore::Double)(dir[1]) ; 258 258 } 259 259 else { … … 261 261 } 262 262 //logsink_->postLocally( LogMessage("direction = "+String::toString(direction),LogOrigin(className_,funcName,WHERE)) ) ; 263 setDirection( direction, (casa ::Float)az, (casa::Float)el ) ;263 setDirection( direction, (casacore::Float)az, (casacore::Float)el ) ; 264 264 265 265 // REFPIX, REFVAL, INCREMENT … … 270 270 else { 271 271 reader_->getFrequency( refpix, refval, incr, freqref ) ; 272 refval = (double)toLSRK( casa ::Double(refval),272 refval = (double)toLSRK( casacore::Double(refval), 273 273 String(freqref), 274 274 hdr.utc, … … 281 281 282 282 // fill FREQ_ID and add FREQUENCIES row if necessary 283 setFrequency( (casa ::Double)refpix, (casa::Double)refval, (casa::Double)incr ) ;283 setFrequency( (casacore::Double)refpix, (casacore::Double)refval, (casacore::Double)incr ) ; 284 284 285 285 // loop on polarization … … 303 303 // OPACITY 304 304 vector<float> tau = reader_->getOpacity() ; 305 Vector<casa ::Float> opacity = toVector( tau, numPol ) ;305 Vector<casacore::Float> opacity = toVector( tau, numPol ) ; 306 306 307 307 // SPECTRA, FLAGTRA, TSYS, TCAL … … 311 311 vector< vector<float> > tc ; 312 312 reader_->getTcalAndTsys( tc, ts ) ; 313 Matrix<casa ::Float> spectra = toMatrix( sp, numPol, numChan ) ;313 Matrix<casacore::Float> spectra = toMatrix( sp, numPol, numChan ) ; 314 314 //logsink_->postLocally( LogMessage("spectra(0,0) = "+String::toString(spectra(0,0)),LogOrigin(className_,funcName,WHERE)) ) ; 315 315 Vector<uChar> flagtra( numChan, 0 ) ; 316 Matrix<casa ::Float> tsys = toMatrix( ts, numPol, numChan ) ;317 Matrix<casa ::Float> tcal = toMatrix( tc, numPol, numChan ) ;316 Matrix<casacore::Float> tsys = toMatrix( ts, numPol, numChan ) ; 317 Matrix<casacore::Float> tcal = toMatrix( tc, numPol, numChan ) ; 318 318 //logsink_->postLocally( LogMessage("tsys(0,0) = "+String::toString(tsys(0,0)),LogOrigin(className_,funcName,WHERE)) ) ; 319 319 // String caltime = "" ; 320 // if ( anyNE( tcal, (casa ::Float)1.0 ) )320 // if ( anyNE( tcal, (casacore::Float)1.0 ) ) 321 321 // caltime = toTcalTime( mjd ) ; 322 322 String caltime = toTcalTime( mjd ) ; … … 401 401 string ref ; 402 402 reader_->getSourceDirection( sdir, ref ) ; 403 Vector<casa ::Double> sourceDir( sdir ) ;403 Vector<casacore::Double> sourceDir( sdir ) ; 404 404 hdr.reffreq = toLSRK( hdr.reffreq, hdr.freqref, hdr.utc, hdr.antennaposition, sdir, String(ref) ) ; 405 405 hdr.freqref = "LSRK" ; … … 437 437 } 438 438 439 Matrix<casa ::Float> ASDMFiller::toMatrix( float *sp,439 Matrix<casacore::Float> ASDMFiller::toMatrix( float *sp, 440 440 unsigned int npol, 441 441 unsigned int nchan ) 442 442 { 443 Matrix<casa ::Float> mSp( npol, nchan ) ;443 Matrix<casacore::Float> mSp( npol, nchan ) ; 444 444 if ( npol <= 2 ) { 445 445 // 1 or 2 polarization case 446 446 for ( unsigned int ich = 0 ; ich < nchan ; ich++ ) { 447 447 for ( unsigned int ipol = 0 ; ipol < npol ; ipol++ ) { 448 mSp(ipol,ich) = (casa ::Float)(sp[npol*ich+ipol]) ;448 mSp(ipol,ich) = (casacore::Float)(sp[npol*ich+ipol]) ; 449 449 } 450 450 } … … 453 453 // 4 polarization case 454 454 for ( unsigned int ich = 0 ; ich < nchan ; ich++ ) { 455 mSp(0,ich) = (casa ::Float)(sp[4*ich]) ; // Re(XX)456 mSp(1,ich) = (casa ::Float)(sp[4*ich+4]) ; // Re(YY)457 mSp(2,ich) = (casa ::Float)(sp[4*ich+2]) ; // Re(XY)458 mSp(3,ich) = (casa ::Float)(sp[4*ich+3]) ; // Im(XY)455 mSp(0,ich) = (casacore::Float)(sp[4*ich]) ; // Re(XX) 456 mSp(1,ich) = (casacore::Float)(sp[4*ich+4]) ; // Re(YY) 457 mSp(2,ich) = (casacore::Float)(sp[4*ich+2]) ; // Re(XY) 458 mSp(3,ich) = (casacore::Float)(sp[4*ich+3]) ; // Im(XY) 459 459 } 460 460 } … … 462 462 } 463 463 464 Matrix<casa ::Float> ASDMFiller::toMatrix( vector< vector<float> > &tsys,464 Matrix<casacore::Float> ASDMFiller::toMatrix( vector< vector<float> > &tsys, 465 465 unsigned int npol, 466 466 unsigned int nchan ) … … 468 468 unsigned int numRec = tsys.size() ; 469 469 unsigned int numChan = tsys[0].size() ; 470 Matrix<casa ::Float> ret ;470 Matrix<casacore::Float> ret ; 471 471 if ( npol == numRec && nchan == numChan ) { 472 472 ret.resize( npol, nchan ) ; 473 473 for ( unsigned int ip = 0 ; ip < npol ; ip++ ) 474 474 for ( unsigned int ic = 0 ; ic < nchan ; ic++ ) 475 ret( ip, ic ) = (casa ::Float)(tsys[ip][ic]) ;475 ret( ip, ic ) = (casacore::Float)(tsys[ip][ic]) ; 476 476 } 477 477 else if ( npol == numRec && numChan == 1 ) { 478 478 ret.resize( npol, 1 ) ; 479 479 for ( unsigned int ip = 0 ; ip < npol ; ip++ ) 480 ret( ip, 0 ) = (casa ::Float)(tsys[0][0]) ;480 ret( ip, 0 ) = (casacore::Float)(tsys[0][0]) ; 481 481 } 482 482 else if ( numRec == 1 && nchan == numChan ) { … … 484 484 for ( unsigned int ip = 0 ; ip < npol ; ip++ ) 485 485 for ( unsigned int ic = 0 ; ic < nchan ; ic++ ) 486 ret( ip, ic ) = (casa ::Float)(tsys[0][ic]) ;486 ret( ip, ic ) = (casacore::Float)(tsys[0][ic]) ; 487 487 } 488 488 else if ( numRec == 1 && numChan == 1 ) { 489 489 ret.resize( npol, 1 ) ; 490 490 for ( unsigned int ip = 0 ; ip < npol ; ip++ ) 491 ret( ip, 0 ) = (casa ::Float)(tsys[0][0]) ;491 ret( ip, 0 ) = (casacore::Float)(tsys[0][0]) ; 492 492 } 493 493 else if ( numRec == 2 && npol == 4 && numChan == nchan ) { … … 496 496 ret.resize( npol, nchan ) ; 497 497 for ( unsigned int ic = 0 ; ic < nchan ; ic++ ) { 498 casa ::Float tsysxy = (casa::Float)(0.5*(tsys[0][ic]+tsys[1][ic])) ;499 ret( 0, ic ) = (casa ::Float)(tsys[0][ic]) ;500 ret( 1, ic ) = (casa ::Float)(tsys[1][ic]) ;498 casacore::Float tsysxy = (casacore::Float)(0.5*(tsys[0][ic]+tsys[1][ic])) ; 499 ret( 0, ic ) = (casacore::Float)(tsys[0][ic]) ; 500 ret( 1, ic ) = (casacore::Float)(tsys[1][ic]) ; 501 501 ret( 2, ic ) = tsysxy ; 502 502 ret( 3, ic ) = tsysxy ; … … 507 507 // at the moment Tsys[XY] = 0.5*(Tsys[X]+Tsys[Y]) 508 508 ret.resize( npol, 1 ) ; 509 casa ::Float tsysxy = (casa::Float)(0.5*(tsys[0][0]+tsys[1][0])) ;510 ret( 0, 0 ) = (casa ::Float)(tsys[0][0]) ;511 ret( 1, 0 ) = (casa ::Float)(tsys[1][0]) ;509 casacore::Float tsysxy = (casacore::Float)(0.5*(tsys[0][0]+tsys[1][0])) ; 510 ret( 0, 0 ) = (casacore::Float)(tsys[0][0]) ; 511 ret( 1, 0 ) = (casacore::Float)(tsys[1][0]) ; 512 512 ret( 2, 0 ) = tsysxy ; 513 513 ret( 3, 0 ) = tsysxy ; … … 517 517 for ( unsigned int ip = 0 ; ip < npol ; ip++ ) 518 518 for ( unsigned int ic = 0 ; ic < nchan ; ic++ ) 519 ret( ip, ic ) = (casa ::Float)(tsys[0][ic]) ;519 ret( ip, ic ) = (casacore::Float)(tsys[0][ic]) ; 520 520 } 521 521 return ret ; 522 522 } 523 523 524 Vector<casa ::Float> ASDMFiller::toVector( vector<float> &tau,524 Vector<casacore::Float> ASDMFiller::toVector( vector<float> &tau, 525 525 unsigned int npol ) 526 526 { 527 527 String funcName = "toVector" ; 528 528 529 Vector<casa ::Float> ret( npol ) ;529 Vector<casacore::Float> ret( npol ) ; 530 530 //logsink_->postLocally( LogMessage("tau0="+String::toString(tau[0]),LogOrigin(className_,funcName,WHERE)) ) ; 531 531 if ( npol == 4 ) { 532 ret[0] = (casa ::Float)tau[0] ;533 ret[1] = (casa ::Float)tau[1] ;532 ret[0] = (casacore::Float)tau[0] ; 533 ret[1] = (casacore::Float)tau[1] ; 534 534 ret[2] = 0.5 * ( ret[0] + ret[1] ) ; 535 535 ret[3] = ret[2] ; … … 537 537 else if ( npol == tau.size() ) { 538 538 for ( unsigned int ipol = 0 ; ipol < npol ; ipol++ ) 539 ret[ipol] = (casa ::Float)tau[ipol] ;539 ret[ipol] = (casacore::Float)tau[ipol] ; 540 540 } 541 541 else { 542 542 // I don't know how to handle... 543 543 for ( unsigned int ipol = 0 ; ipol < npol ; ipol++ ) 544 ret[ipol] = (casa ::Float)tau[0] ;544 ret[ipol] = (casacore::Float)tau[0] ; 545 545 } 546 546 //logsink_->postLocally( LogMessage("tau="+String::toString(ret),LogOrigin(className_,funcName,WHERE)) ) ; … … 548 548 } 549 549 550 String ASDMFiller::toTcalTime( casa ::Double mjd )550 String ASDMFiller::toTcalTime( casacore::Double mjd ) 551 551 { 552 552 return MVTime( mjd ).string( MVTime::YMD ) ; 553 553 } 554 554 555 void ASDMFiller::toJ2000( Vector<casa ::Double> &dir,555 void ASDMFiller::toJ2000( Vector<casacore::Double> &dir, 556 556 double az, 557 557 double el, 558 casa ::Double mjd,559 Vector<casa ::Double> antpos )558 casacore::Double mjd, 559 Vector<casacore::Double> antpos ) 560 560 { 561 561 String funcName = "toJ2000" ; 562 562 563 Vector<casa ::Double> azel( 2 ) ;563 Vector<casacore::Double> azel( 2 ) ; 564 564 azel[0] = az ; 565 565 azel[1] = el ; … … 580 580 } 581 581 582 Vector<casa ::Double> ASDMFiller::toJ2000( Vector<casa::Double> dir,582 Vector<casacore::Double> ASDMFiller::toJ2000( Vector<casacore::Double> dir, 583 583 String dirref, 584 casa ::Double mjd,585 Vector<casa ::Double> antpos )586 { 587 Vector<casa ::Double> newd( dir ) ;584 casacore::Double mjd, 585 Vector<casacore::Double> antpos ) 586 { 587 Vector<casacore::Double> newd( dir ) ; 588 588 if ( dirref != "J2000" ) { 589 589 MEpoch me( Quantity( mjd, "d" ), MEpoch::UTC ) ; … … 620 620 } 621 621 622 casa ::Double ASDMFiller::toLSRK( casa::Double freq,622 casacore::Double ASDMFiller::toLSRK( casacore::Double freq, 623 623 String freqref, 624 casa ::Double utc,625 Vector<casa ::Double> antpos,626 Vector<casa ::Double> dir,624 casacore::Double utc, 625 Vector<casacore::Double> antpos, 626 Vector<casacore::Double> dir, 627 627 String dirref ) 628 628 { … … 630 630 631 631 //logsink_->postLocally( LogMessage("freqref = "+freqref,LogOrigin(className_,funcName,WHERE)) ) ; 632 casa ::Double newf = freq ;632 casacore::Double newf = freq ; 633 633 if ( freqToLsr_ && freqref != "LSRK" ) { 634 MEpoch me( Quantum<casa ::Double>( utc, Unit("d") ), MEpoch::UTC ) ;635 Vector< Quantum<casa ::Double> > antposQ( 3 ) ;634 MEpoch me( Quantum<casacore::Double>( utc, Unit("d") ), MEpoch::UTC ) ; 635 Vector< Quantum<casacore::Double> > antposQ( 3 ) ; 636 636 for ( int i = 0 ; i < 3 ; i++ ) 637 antposQ[i] = Quantum<casa ::Double>( antpos[i], Unit("m") ) ;637 antposQ[i] = Quantum<casacore::Double>( antpos[i], Unit("m") ) ; 638 638 MPosition mp( antposQ, MPosition::ITRF ) ; 639 639 MDirection::Types dirtype ; … … 641 641 if ( !b ) 642 642 dirtype = MDirection::J2000 ; 643 MDirection md( Quantum<casa ::Double>( dir[0], Unit("rad") ),644 Quantum<casa ::Double>( dir[1], Unit("rad") ),643 MDirection md( Quantum<casacore::Double>( dir[0], Unit("rad") ), 644 Quantum<casacore::Double>( dir[1], Unit("rad") ), 645 645 dirtype ) ; 646 646 MeasFrame mf( me, mp, md ) ; … … 651 651 MFrequency::Convert tolsr( freqtype, 652 652 MFrequency::Ref( MFrequency::LSRK, mf ) ) ; 653 newf = tolsr( Quantum<casa ::Double>( freq, Unit("Hz") ) ).get( "Hz" ).getValue() ;653 newf = tolsr( Quantum<casacore::Double>( freq, Unit("Hz") ) ).get( "Hz" ).getValue() ; 654 654 //logsink_->postLocally( LogMessage("freq = "+String::toString(freq)+", newf = "+String::toString(newf),LogOrigin(className_,funcName,WHERE)) ) ; 655 655 }
Note: See TracChangeset
for help on using the changeset viewer.