Changeset 79 for trunk/src/SDContainer.cc
- Timestamp:
- 08/10/04 16:26:33 (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/SDContainer.cc
r67 r79 66 66 flags_(IPosition(4,nBeam,nIF,nPol,nChan)), 67 67 tsys_(IPosition(4,nBeam,nIF,nPol,nChan)), 68 freqidx_(nIF) { 68 freqidx_(nIF), 69 direction_(IPosition(2,nBeam,2)) { 69 70 uChar x = 0; 70 71 flags_ = ~x; … … 79 80 flags_(shp), 80 81 tsys_(shp), 81 freqidx_(shp(1)){ 82 freqidx_(shp(1)) { 83 IPosition ip(2,shp(0),2); 84 direction_.resize(ip); 82 85 uChar x = 0; 83 86 flags_ = ~x; … … 96 99 tsys_.resize(shp); 97 100 freqidx_.resize(shp(1)); 101 IPosition ip(2,shp(0),2); 102 direction_.resize(ip); 98 103 } 99 104 … … 284 289 } 285 290 291 Array<Double> SDContainer::getDirection(uInt whichBeam) const { 292 Vector<Double> direct(2); 293 ArrayAccessor<Double, Axis<0> > i0(direction_); 294 i0.reset(i0.begin(whichBeam)); 295 ArrayAccessor<Double, Axis<0> > o0(direct); 296 ArrayAccessor<Double, Axis<1> > i1(i0); 297 while (i1 != i1.end()) { 298 *o0 = *i1; 299 i1++; 300 o0++; 301 } 302 return direct.copy(); 303 } 304 305 286 306 Bool SDContainer::setFrequencyMap(uInt freqslot, uInt whichIF) { 287 307 freqidx_[whichIF] = freqslot; … … 292 312 freqidx_.resize(); 293 313 freqidx_ = freqs; 314 return True; 315 } 316 317 Bool SDContainer::setDirection(const Vector<Double>& point, uInt whichBeam) { 318 if (point.nelements() != 2) return False; 319 ArrayAccessor<Double, Axis<0> > aa0(direction_); 320 aa0.reset(aa0.begin(whichBeam)); 321 ArrayAccessor<Double, Axis<0> > jj(point); 322 for (ArrayAccessor<Double, Axis<1> > i(aa0);i != i.end(); ++i) { 323 324 (*i) = (*jj); 325 jj++; 326 } 327 return True; 328 } 329 330 Bool SDContainer::putDirection(const Array<Double>& dir) { 331 direction_.resize(); 332 direction_ = dir; 294 333 return True; 295 334 }
Note: See TracChangeset
for help on using the changeset viewer.