Changeset 699 for branches/Release-2-fixes/src/SDMath.h
- Timestamp:
- 10/20/05 16:35:24 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/Release-2-fixes/src/SDMath.h
r653 r699 63 63 64 64 // Copy Constructor (copy semantics) 65 SDMath 65 SDMath(const SDMath& other); 66 66 67 67 // Assignment (copy semantics) … … 72 72 73 73 // Binary Table operators. op=ADD, SUB, MUL, DIV, QUOTIENT 74 casa::CountedPtr<SDMemTable> binaryOperate 74 casa::CountedPtr<SDMemTable> binaryOperate(const casa::CountedPtr<SDMemTable>& left, 75 75 const casa::CountedPtr<SDMemTable>& right, 76 76 const casa::String& op, casa::Bool preserve, … … 99 99 100 100 // Smooth 101 SDMemTable* smooth 101 SDMemTable* smooth(const SDMemTable& in, const casa::String& kernel, 102 102 casa::Float width, casa::Bool doAll) const; 103 103 104 104 // Flux conversion between Jansky and Kelvin 105 SDMemTable* convertFlux 105 SDMemTable* convertFlux(const SDMemTable& in, casa::Float D, casa::Float etaAp, 106 106 casa::Float JyPerK, casa::Bool doAll) const; 107 107 108 108 // Gain-elevation correction 109 SDMemTable* gainElevation 109 SDMemTable* gainElevation(const SDMemTable& in, const casa::Vector<casa::Float>& coeffs, 110 110 const casa::String& fileName, 111 111 const casa::String& method, casa::Bool doAll) const; 112 112 113 113 // Frequency Alignment 114 SDMemTable* frequencyAlignment 114 SDMemTable* frequencyAlignment(const SDMemTable& in, const casa::String& refTime, 115 115 const casa::String& method, casa::Bool perFreqID) const; 116 116 117 117 // Opacity correction 118 SDMemTable* opacity 118 SDMemTable* opacity(const SDMemTable& in, casa::Float tau, casa::Bool doAll) const; 119 119 120 120 // Simple unary mathematical operations. what=0 (mul) or 1 (add) … … 126 126 const casa::String& wtStr) const; 127 127 128 SDMemTable* frequencySwitch(const SDMemTable& in) const; 129 130 128 131 // Rotate XY phase. Value in degrees. 129 void rotateXYPhase 132 void rotateXYPhase(SDMemTable& in, casa::Float value, casa::Bool doAll); 130 133 131 134 // Rotate Q & U by operating on the raw correlations.Value in degrees. 132 void rotateLinPolPhase 135 void rotateLinPolPhase(SDMemTable& in, casa::Float value, casa::Bool doAll); 133 136 134 137 … … 158 161 159 162 // Work out conversion factor for converting Jy<->K per IF per row and apply 160 void convertBrightnessUnits 163 void convertBrightnessUnits(SDMemTable* pTabOut, const SDMemTable& in, 161 164 casa::Bool toKelvin, casa::Float sFac, casa::Bool doAll) const; 162 165 163 166 // Convert weight string to enum value 164 167 165 void convertWeightString 168 void convertWeightString(WeightType& wt, const casa::String& weightStr, 166 169 casa::Bool listType) const; 167 170 … … 185 188 186 189 // Scale data and optionally TSys by values in a Vector 187 void scaleByVector 190 void scaleByVector(SDMemTable* pTabOut, const SDMemTable& in, 188 191 casa::Bool doAll, const casa::Vector<casa::Float>& factor, 189 192 casa::Bool doTSys) const; 190 193 191 194 // Convert time String to Epoch 192 casa::MEpoch epochFromString 195 casa::MEpoch epochFromString(const casa::String& str, casa::MEpoch::Types timeRef) const; 193 196 194 197 // Function to fill Scan Container when averaging in time 195 198 196 void fillSDC 199 void fillSDC(SDContainer& sc, const casa::Array<casa::Bool>& mask, 197 200 const casa::Array<casa::Float>& data, 198 201 const casa::Array<casa::Float>& tSys, … … 205 208 206 209 // Align in Frequency 207 SDMemTable* frequencyAlign 210 SDMemTable* frequencyAlign(const SDMemTable& in, 208 211 casa::MFrequency::Types system, 209 212 const casa::String& timeRef, … … 212 215 213 216 // Generate frequency aligners 214 void generateFrequencyAligners 217 void generateFrequencyAligners(casa::PtrBlock<casa::FrequencyAligner<casa::Float>* >& a, 215 218 const SDDataDesc& dDesc, 216 219 const SDMemTable& in, casa::uInt nChan, … … 220 223 casa::Bool perFreqID) const; 221 224 222 // Generate data description table 223 void generateDataDescTable 225 // Generate data description table(combines source and freqID) 226 void generateDataDescTable(casa::Matrix<casa::uInt>& ddIdx, 224 227 SDDataDesc& dDesc, 225 228 casa::uInt nIF, … … 231 234 232 235 // Get row range from SDMemTable state 233 casa::Vector<casa::uInt> getRowRange 236 casa::Vector<casa::uInt> getRowRange(const SDMemTable& in) const; 234 237 235 238 // Is row in the row range ? 236 casa::Bool rowInRange 239 casa::Bool rowInRange(casa::uInt i, const casa::Vector<casa::uInt>& range) const; 237 240 238 241 // Set slice to cursor or all axes 239 void setCursorSlice 242 void setCursorSlice(casa::IPosition& start, casa::IPosition& end, 240 243 casa::Bool doAll, const SDMemTable& in) const; 241 244 242 245 // Function to normalize data when averaging in time 243 246 244 void normalize 247 void normalize(casa::MaskedArray<casa::Float>& data, 245 248 const casa::Array<casa::Float>& sumSq, 246 249 const casa::Array<casa::Float>& tSysSumSq, … … 250 253 251 254 // Put the data and mask into the SDContainer 252 void putDataInSDC 255 void putDataInSDC(SDContainer& sc, const casa::Array<casa::Float>& data, 253 256 const casa::Array<casa::Bool>& mask) const; 254 257 255 258 // Read ascii file into a Table 256 259 257 casa::Table readAsciiFile 260 casa::Table readAsciiFile(const casa::String& fileName) const; 258 261 }; 259 262
Note: See TracChangeset
for help on using the changeset viewer.