- Timestamp:
- 07/22/11 15:34:15 (13 years ago)
- Location:
- trunk/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/FillerBase.cpp
r2230 r2242 193 193 && tab.col("HUMIDITY") == humidity \ 194 194 && tab.col("WINDSPEED") == windspeed \ 195 && tab.col("WINDAZ") == windaz ) ;195 && tab.col("WINDAZ") == windaz, 1 ) ; 196 196 Int nrow = tab.nrow() ; 197 197 Int nrowSel = subt.nrow() ; … … 228 228 const Vector<Float>& tcal) 229 229 { 230 uInt id ;230 uInt id = 0 ; 231 231 Table tab = table_->tcal().table() ; 232 Int nrow = tab.nrow() ; 233 Vector<uInt> rowList( 0 ) ; 234 ArrayColumn<Float> tcalCol( tab, "TCAL" ) ; 235 TableColumn timeCol( tab, "TIME" ) ; 236 TableColumn idCol( tab, "ID" ) ; 237 uInt nelem = tcal.nelements() ; 238 for ( Int irow = 0 ; irow < nrow ; irow++ ) { 239 if ( tcalCol.shape(irow)[0] == nelem ) { 240 rowList.resize( rowList.nelements()+1, True ) ; 241 rowList[rowList.nelements()-1] = irow ; 232 Table result = 233 //tab( nelements(tab.col("TCAL")) == uInt (tcal.size()) && 234 // all(tab.col("TCAL")== tcal) && 235 // tab.col("TIME") == tcaltime, 1 ) ; 236 tab( nelements(tab.col("TCAL")) == uInt (tcal.size()) && 237 all(tab.col("TCAL")== tcal), 1 ) ; 238 239 if ( result.nrow() > 0 ) { 240 ROTableColumn tmpCol( result, "ID" ) ; 241 tmpCol.getScalar( 0, id ) ; 242 } 243 else { 244 uInt rno = tab.nrow(); 245 tab.addRow(); 246 TableColumn idCol( tab, "ID" ) ; 247 TableColumn tctimeCol( tab, "TIME" ) ; 248 ArrayColumn<Float> tcalCol( tab, "TCAL" ) ; 249 // get last assigned _id and increment 250 if ( rno > 0 ) { 251 idCol.getScalar(rno-1, id); 252 id++; 242 253 } 243 } 244 245 //cout << "rowList = " << rowList << endl ; 246 247 if ( rowList.nelements() == 0 ) { 248 // add new row 249 tab.addRow( 1 ) ; 250 //cout << "tab.nrow() = " << tab.nrow() << endl ; 251 tcalCol.put( nrow, tcal ) ; 252 timeCol.putScalar( nrow, tcaltime ) ; 253 id = (uInt)nrow ; 254 idCol.putScalar( nrow, id ) ; 255 } 256 else { 257 uInt ichan = 0 ; 258 while ( rowList.nelements() > 1 && ichan < nelem ) { 259 Vector<uInt> tmp = rowList.copy() ; 260 rowList.resize( 0 ) ; 261 for ( uInt irow = 0 ; irow < tmp.nelements() ; irow++ ) { 262 Vector<Float> t = tcalCol( tmp[irow] ) ; 263 if ( t[ichan] == tcal[ichan] ) { 264 rowList.resize( rowList.nelements()+1, True ) ; 265 rowList[rowList.nelements()-1] = irow ; 266 } 267 } 268 ichan++ ; 269 } 270 271 //cout << "updated rowList = " << rowList << endl ; 272 273 if ( rowList.nelements() == 0 ) { 274 // add new row 275 tab.addRow( 1, True ) ; 276 //cout << "tab.nrow() = " << tab.nrow() << endl ; 277 tcalCol.put( nrow, tcal ) ; 278 timeCol.putScalar( nrow, tcaltime ) ; 279 id = (uInt)nrow ; 280 idCol.putScalar( nrow, id ) ; 281 } 282 else { 283 Vector<Float> t = tcalCol( rowList[0] ) ; 284 if ( allEQ( t, tcal ) ) { 285 ROTableColumn tc( tab, "ID" ) ; 286 id = tc.asuInt( rowList[0] ) ; 287 } 288 else { 289 // add new row 290 tab.addRow( 1, True ) ; 291 //cout << "tab.nrow() = " << tab.nrow() << endl ; 292 tcalCol.put( nrow, tcal ) ; 293 timeCol.putScalar( nrow, tcaltime ) ; 294 id = (uInt)nrow ; 295 idCol.putScalar( nrow, id ) ; 296 } 297 } 298 } 299 254 tctimeCol.putScalar(rno, tcaltime); 255 tcalCol.put(rno, tcal); 256 idCol.putScalar(rno, id); 257 } 258 300 259 RecordFieldPtr<uInt> mcalidCol(row_.record(), "TCAL_ID"); 301 260 *mcalidCol = id; -
trunk/src/STFocus.cpp
r1587 r2242 106 106 && near(table_.col("MOUNT"), mount) 107 107 && near(table_.col("XYPHASE"), xyphase) 108 && near(table_.col("XYPHASEOFFSET"), xyphaseoffset) 108 && near(table_.col("XYPHASEOFFSET"), xyphaseoffset), 1 109 109 ); 110 110 uInt resultid = 0; -
trunk/src/STFrequencies.cpp
r1819 r2242 88 88 // test if this already exists 89 89 Table result = table_( near(table_.col("REFVAL"), refval) 90 && near(table_.col("REFPIX"), refpix)91 && near(table_.col("INCREMENT"), inc));90 && near(table_.col("REFPIX"), refpix) 91 && near(table_.col("INCREMENT"), inc), 1 ); 92 92 uInt resultid = 0; 93 93 if ( result.nrow() > 0) { -
trunk/src/STMolecules.cpp
r1819 r2242 108 108 Table result = 109 109 table_( nelements(table_.col("RESTFREQUENCY")) == uInt (restfreq.size()) && 110 all(table_.col("RESTFREQUENCY")== restfreq) );110 all(table_.col("RESTFREQUENCY")== restfreq), 1 ); 111 111 uInt resultid = 0; 112 112 if ( result.nrow() > 0) {
Note:
See TracChangeset
for help on using the changeset viewer.