Changeset 957 for trunk/src/STFocus.cpp
- Timestamp:
- 03/31/06 17:01:45 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/STFocus.cpp
r896 r957 37 37 { 38 38 rotationCol_.attach(table_,"ROTATION"); 39 a ngleCol_.attach(table_,"ANGLE");39 axisCol_.attach(table_,"AXIS"); 40 40 tanCol_.attach(table_,"TAN"); 41 handCol_.attach(table_,"HAND"); 42 userCol_.attach(table_,"USERPHASE"); 43 mountCol_.attach(table_,"MOUNT"); 44 xyphCol_.attach(table_,"XYPHASE"); 45 xyphoffCol_.attach(table_,"XYPHASEOFFSET"); 41 46 } 42 47 … … 50 55 static_cast<STSubTable&>(*this) = other; 51 56 rotationCol_.attach(table_,"ROTATION"); 52 a ngleCol_.attach(table_,"ANGLE");57 axisCol_.attach(table_,"AXIS"); 53 58 tanCol_.attach(table_,"TAN"); 59 handCol_.attach(table_,"HAND"); 60 userCol_.attach(table_,"USERPHASE"); 61 mountCol_.attach(table_,"MOUNT"); 62 xyphCol_.attach(table_,"XYPHASE"); 63 xyphoffCol_.attach(table_,"XYPHASEOFFSET"); 54 64 } 55 65 return *this; … … 59 69 // add to base class table 60 70 table_.addColumn(ScalarColumnDesc<Float>("ROTATION")); 61 table_.addColumn(ScalarColumnDesc<Float>("A NGLE"));71 table_.addColumn(ScalarColumnDesc<Float>("AXIS")); 62 72 table_.addColumn(ScalarColumnDesc<Float>("TAN")); 73 table_.addColumn(ScalarColumnDesc<Float>("HAND")); 74 table_.addColumn(ScalarColumnDesc<Float>("USERPHASE")); 75 table_.addColumn(ScalarColumnDesc<Float>("MOUNT")); 76 table_.addColumn(ScalarColumnDesc<Float>("XYPHASE")); 77 table_.addColumn(ScalarColumnDesc<Float>("XYPHASEOFFSET")); 63 78 64 79 // new cached columns 65 80 rotationCol_.attach(table_,"ROTATION"); 66 a ngleCol_.attach(table_,"ANGLE");81 axisCol_.attach(table_,"AXIS"); 67 82 tanCol_.attach(table_,"TAN"); 83 handCol_.attach(table_,"HAND"); 84 userCol_.attach(table_,"USERPHASE"); 85 mountCol_.attach(table_,"MOUNT"); 86 xyphCol_.attach(table_,"XYPHASE"); 87 xyphoffCol_.attach(table_,"XYPHASEOFFSET"); 68 88 } 69 89 70 uInt STFocus::addEntry( Float rotation, Float angle, Float ftan) 90 uInt STFocus::addEntry( Float fax, Float ftan, Float frot, Float hand, 91 Float user, Float mount, 92 Float xyphase, Float xyphaseoffset) 71 93 { 72 Table result = table_( near(table_.col("ROTATION"), rotation) 73 && near(table_.col("ANGLE"), angle) 74 && near(table_.col("TAN"), ftan) ); 94 Table result = table_( near(table_.col("ROTATION"), frot) 95 && near(table_.col("AXIS"), fax) 96 && near(table_.col("TAN"), ftan) 97 && near(table_.col("HAND"), hand) 98 && near(table_.col("USERPHASE"), user) 99 && near(table_.col("MOUNT"), mount) 100 && near(table_.col("XYPHASE"), xyphase) 101 && near(table_.col("XYPHASEOFFSET"), xyphaseoffset) 102 ); 75 103 uInt resultid = 0; 76 104 if ( result.nrow() > 0) { … … 85 113 resultid++; 86 114 } 87 rotationCol_.put(rno, rotation);88 a ngleCol_.put(rno, angle);115 rotationCol_.put(rno, frot); 116 axisCol_.put(rno, fax); 89 117 tanCol_.put(rno, ftan); 118 handCol_.put(rno, hand); 119 userCol_.put(rno, user); 120 mountCol_.put(rno, mount); 121 xyphCol_.put(rno, xyphase); 122 xyphoffCol_.put(rno, xyphaseoffset); 90 123 idCol_.put(rno, resultid); 91 124 } … … 94 127 95 128 void asap::STFocus::getEntry( Float& rotation, Float& angle, Float& ftan, 129 Float& hand, Float& user, Float& mount, 130 Float& xyphase, Float& xyphaseoffset, 96 131 uInt id) const 97 132 { … … 104 139 const TableRecord& rec = row.get(0); 105 140 rotation = rec.asFloat("ROTATION"); 106 angle = rec.asFloat("A NGLE");141 angle = rec.asFloat("AXIS"); 107 142 ftan = rec.asFloat("TAN"); 143 hand = rec.asFloat("HAND"); 144 user = rec.asFloat("USERPHASE"); 145 mount = rec.asFloat("MOUNT"); 146 xyphase = rec.asFloat("XYPHASE"); 147 xyphaseoffset = rec.asFloat("XYPHASEOFFSET"); 108 148 } 109 149 110 150 151 casa::Float asap::STFocus::getTotalFeedAngle( casa::uInt id ) const 152 { 153 Float total = 0.0f; 154 Table t = table_(table_.col("ID") == Int(id) ); 155 if (t.nrow() == 0 ) { 156 throw(AipsError("STFocus::getEntry - id out of range")); 157 } 158 ROTableRow row(t); 159 // get first row - there should only be one matching id 160 const TableRecord& rec = row.get(0); 161 total += rec.asFloat("ROTATION"); 162 total += rec.asFloat("USERPHASE"); 163 total += rec.asFloat("MOUNT"); 164 return total; 111 165 } 166 } 167 168 casa::Float asap::STFocus::getFeedHand( casa::uInt id ) const 169 { 170 Table t = table_(table_.col("ID") == Int(id) ); 171 if (t.nrow() == 0 ) { 172 throw(AipsError("STFocus::getEntry - id out of range")); 173 } 174 ROTableRow row(t); 175 const TableRecord& rec = row.get(0); 176 return rec.asFloat("HAND"); 177 } 178
Note:
See TracChangeset
for help on using the changeset viewer.