- Timestamp:
- 07/07/04 18:37:16 (20 years ago)
- Location:
- trunk/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/SDContainer.cc
r27 r34 65 65 spectrum_(IPosition(4,nBeam,nIF,nPol,nChan)), 66 66 flags_(IPosition(4,nBeam,nIF,nPol,nChan)), 67 tsys_(IPosition(4,nBeam,nIF,nPol,nChan)) { 67 tsys_(IPosition(4,nBeam,nIF,nPol,nChan)), 68 freqidx_(nIF) { 68 69 uChar x = 0; 69 70 flags_ = ~x; … … 77 78 spectrum_(shp), 78 79 flags_(shp), 79 tsys_(shp) { 80 tsys_(shp), 81 freqidx_(shp(1)){ 80 82 uChar x = 0; 81 83 flags_ = ~x; … … 174 176 } 175 177 176 Array<Float> SDContainer::getSpectrum(uInt whichBeam, uInt whichIF) const 177 { 178 const Array<Float>& SDContainer::getSpectrum(uInt whichBeam, uInt whichIF) const { 178 179 Matrix<Float> spectra(nChan_, nPol_); 179 180 … … 209 210 } 210 211 211 Array<uChar>SDContainer::getFlags(uInt whichBeam, uInt whichIF) const212 const Array<uChar>& SDContainer::getFlags(uInt whichBeam, uInt whichIF) const 212 213 { 213 214 Matrix<uChar> flagtra(nChan_, nPol_); … … 244 245 } 245 246 246 Array<Float>SDContainer::getTsys(uInt whichBeam, uInt whichIF) const247 const Array<Float>& SDContainer::getTsys(uInt whichBeam, uInt whichIF) const 247 248 { 248 249 Vector<Float> tsys(nPol_); … … 269 270 o0++; 270 271 } 271 272 272 return tsys; 273 273 } 274 275 Bool SDContainer::setFrequencyMap(uInt freqslot, uInt whichIF) { 276 freqidx_[whichIF] = freqslot; 277 return True; 278 } 279 280 Bool SDContainer::putFreqMap(const Vector<uInt>& freqs) { 281 freqidx_.resize(); 282 freqidx_ = freqs; 283 return True; 284 } 285 286 Int SDFrequencyTable::addFrequency(Int refPix, Double refVal, Double inc) { 287 Int idx = -1; 288 Bool addit = False; 289 if (length() > 0) { 290 for (uInt i=0; i< length();++i) { 291 if ( refVal == refVal_[i] ) { // probably check with tolerance 292 if ( refPix == refPix_[i] ) 293 if ( inc == increment_[i] ) 294 idx = Int(i); 295 } 296 } 297 if (idx >= 0) { 298 return idx; 299 } 300 } 301 nFreq_ += 1; 302 refPix_.resize(nFreq_,True); 303 refVal_.resize(nFreq_,True); 304 increment_.resize(nFreq_,True); 305 refPix_[nFreq_-1] = refPix; 306 refVal_[nFreq_-1] = refVal; 307 increment_[nFreq_-1] = inc; 308 idx = nFreq_-1; 309 return idx; 310 } 311 -
trunk/src/SDContainer.h
r27 r34 66 66 public: 67 67 68 SDFrequencyTable() {;} 68 SDFrequencyTable() : nFreq_(0) {;} 69 virtual ~SDFrequencyTable() {;} 70 71 Int length() const { return nFreq_;};// # of stored Frequencies 72 73 Double referencePixel(uInt which) const { return refPix_[which];} 74 Double referenceValue(uInt which) const { return refVal_[which];} 75 Double increment(uInt which) const { return increment_[which];} 76 Float equinox() const { return equinox_; } 77 String refFrame() const { return refFrame_; } 78 69 79 // returns the index into the table 70 80 // this creates a new one or returns an existing one 71 Int addFrequency(Double refPix, Double refVal, Double inc) {;} 72 73 Int length() const { return nFreq_;};// # of stored Frequencies 74 // returns a Table with nRows == nFreq, and three cols 81 Int addFrequency(Int refPix, Double refVal, Double inc); 82 void setEquinox(Float eq) { equinox_ = eq; } 83 void setRefFrame(const String& reff) { refFrame_ = reff; } 75 84 76 85 private: 77 86 Int nFreq_; 78 std::vector<double> refPix_; 79 std::vector<double> revVal_; 80 std::vector<double> increment_; 87 Vector<Double> refPix_; 88 Vector<Double> refVal_; 89 Vector<Double> increment_; 90 Float equinox_; 91 String refFrame_; 81 92 }; 82 93 … … 104 115 Bool setPointing(const Vector<Double>& point, uInt whichBeam) {;} 105 116 106 Bool setFrequencyMap(uInt freqslot, uInt whichIF) {;} 117 Bool setFrequencyMap(uInt freqslot, uInt whichIF); 118 Bool putFreqMap(const Vector<uInt>& freqs); 107 119 120 const Array<Float>& getSpectrum(uInt whichBeam, uInt whichIF) const; 121 const Array<uChar>& getFlags(uInt whichBeam, uInt whichIF) const; 122 const Array<Float>& getTsys(uInt whichBeam, uInt whichIF) const; 123 108 124 const Array<Float>& getSpectrum() const { return spectrum_; } 109 125 const Array<uChar>& getFlags() const { return flags_; } 110 126 const Array<Float>& getTsys() const { return tsys_; } 111 112 Array<Float> getSpectrum(uInt whichBeam, uInt whichIF) const; 113 Array<uChar> getFlags(uInt whichBeam, uInt whichIF) const; 114 Array<Float> getTsys(uInt whichBeam, uInt whichIF) const; 127 128 const Vector<uInt>& getFreqMap() const { return freqidx_; } 115 129 116 130 Double timestamp;
Note:
See TracChangeset
for help on using the changeset viewer.