Line data Source code
1 : //# CTMainRecord.cc: Implementation of CTMainRecord.h 2 : //# Copyright (C) 2011 3 : //# Associated Universities, Inc. Washington DC, USA. 4 : //# 5 : //# This library is free software; you can redistribute it and/or modify it 6 : //# under the terms of the GNU Library General Public License as published by 7 : //# the Free Software Foundation; either version 2 of the License, or (at your 8 : //# option) any later version. 9 : //# 10 : //# This library is distributed in the hope that it will be useful, but WITHOUT 11 : //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12 : //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public 13 : //# License for more details. 14 : //# 15 : //# You should have received a copy of the GNU Library General Public License 16 : //# along with this library; if not, write to the Free Software Foundation, 17 : //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA. 18 : //# 19 : //# Correspondence concerning AIPS++ should be addressed as follows: 20 : //# Internet email: casa-feedback@nrao.edu. 21 : //# Postal address: AIPS++ Project Office 22 : //# National Radio Astronomy Observatory 23 : //# 520 Edgemont Road 24 : //# Charlottesville, VA 22903-2475 USA 25 : //# 26 : //# $Id$ 27 : //---------------------------------------------------------------------------- 28 : 29 : #include <synthesis/CalTables/CTMainRecord.h> 30 : #include <synthesis/CalTables/CTEnums.h> 31 : #include <casacore/casa/Arrays.h> 32 : 33 : using namespace casacore; 34 : namespace casa { //# NAMESPACE CASA - BEGIN 35 : 36 : //---------------------------------------------------------------------------- 37 : 38 0 : CTMainRecord::CTMainRecord() : itsRecord() 39 : { 40 : // Null constructor 41 : // Output to private data: 42 : // itsRecord Record Underlying record object 43 : // 44 0 : }; 45 : 46 : //---------------------------------------------------------------------------- 47 : 48 0 : CTMainRecord::CTMainRecord (const Record& inpRec) : itsRecord (inpRec) 49 : { 50 : // Construct from an input record 51 : // Input: 52 : // inpRec Record Input record 53 : // Output to private data: 54 : // itsRecord Record Underlying record object 55 : // 56 0 : }; 57 : 58 : //---------------------------------------------------------------------------- 59 : 60 0 : const Record& CTMainRecord::record() 61 : { 62 : // Return as record 63 : // Output: 64 : // record const Record& Return underlying record object 65 : // Input from private data: 66 : // itsRecord Record Underlying record object 67 : // 68 0 : return itsRecord; 69 : }; 70 : 71 : //---------------------------------------------------------------------------- 72 : 73 0 : void CTMainRecord::addRec (const Record& newRec) 74 : { 75 : // Add to underlying record object 76 : // Input: 77 : // newRec Record Record to be added 78 : // Output to private data: 79 : // itsRecord Record Underlying record object 80 : // 81 0 : itsRecord.merge (newRec, RecordInterface::OverwriteDuplicates); 82 0 : }; 83 : 84 : //---------------------------------------------------------------------------- 85 : 86 0 : void CTMainRecord::defineTime (const Double& time) 87 : { 88 : // Define the TIME field value (expressed as a Double) 89 : // Input: 90 : // time const Double& TIME value 91 : // Output to private data: 92 : // itsRecord Record Underlying record object 93 : // 94 0 : Record newRec; 95 0 : newRec.define (NCT::fieldName (NCT::TIME), time); 96 0 : addRec (newRec); 97 0 : }; 98 : 99 : //---------------------------------------------------------------------------- 100 : 101 0 : void CTMainRecord::defineTime (const MEpoch& time) 102 : { 103 : // Define the TIME field value (expressed as an MEpoch) 104 : // Input: 105 : // time const MEpoch& TIME value 106 : // Output to private data: 107 : // itsRecord Record Underlying record object 108 : // 109 0 : Record newRec; 110 0 : newRec.define (NCT::fieldName (NCT::TIME), time.getValue().get()); 111 0 : addRec (newRec); 112 0 : }; 113 : 114 : //---------------------------------------------------------------------------- 115 : 116 0 : void CTMainRecord::defineInterval (const Double& interval) 117 : { 118 : // Define the INTERVAL field value 119 : // Input: 120 : // interval const Double& INTERVAL value 121 : // Output to private data: 122 : // itsRecord Record Underlying record object 123 : // 124 0 : Record newRec; 125 0 : newRec.define (NCT::fieldName (NCT::INTERVAL), interval); 126 0 : addRec (newRec); 127 0 : }; 128 : 129 : //---------------------------------------------------------------------------- 130 : 131 0 : void CTMainRecord::defineAntenna1 (const Int& antenna1) 132 : { 133 : // Define the ANTENNA1 field value 134 : // Input: 135 : // antenna1 const Int& ANTENNA1 value 136 : // Output to private data: 137 : // itsRecord Record Underlying record object 138 : // 139 0 : Record newRec; 140 0 : newRec.define (NCT::fieldName (NCT::ANTENNA1), antenna1); 141 0 : addRec (newRec); 142 0 : }; 143 : 144 : //---------------------------------------------------------------------------- 145 : 146 0 : void CTMainRecord::defineAntenna2 (const Int& antenna2) 147 : { 148 : // Define the ANTENNA2 field value 149 : // Input: 150 : // antenna2 const Int& ANTENNA2 value 151 : // Output to private data: 152 : // itsRecord Record Underlying record object 153 : // 154 0 : Record newRec; 155 0 : newRec.define (NCT::fieldName (NCT::ANTENNA2), antenna2); 156 0 : addRec (newRec); 157 0 : }; 158 : 159 : //---------------------------------------------------------------------------- 160 : 161 0 : void CTMainRecord::defineFieldId (const Int& fieldId) 162 : { 163 : // Define the FIELD_ID field value 164 : // Input: 165 : // fieldId const Int& FIELD_ID value 166 : // Output to private data: 167 : // itsRecord Record Underlying record object 168 : // 169 0 : Record newRec; 170 0 : newRec.define (NCT::fieldName (NCT::FIELD_ID), fieldId); 171 0 : addRec (newRec); 172 0 : }; 173 : 174 : //---------------------------------------------------------------------------- 175 : 176 0 : void CTMainRecord::defineSpwId (const Int& spwId) 177 : { 178 : // Define the SPECTRAL_WINDOW_ID field value 179 : // Input: 180 : // spwId const Int& SPECTRAL_WINDOW_ID value 181 : // Output to private data: 182 : // itsRecord Record Underlying record object 183 : // 184 0 : Record newRec; 185 0 : newRec.define (NCT::fieldName (NCT::SPECTRAL_WINDOW_ID), spwId); 186 0 : addRec (newRec); 187 0 : }; 188 : 189 : //---------------------------------------------------------------------------- 190 : 191 0 : void CTMainRecord::defineScanNo (const Int& scanNo) 192 : { 193 : // Define the SCAN_NUMBER field value 194 : // Input: 195 : // scanNo const Int& SCAN_NUMBER value 196 : // Output to private data: 197 : // itsRecord Record Underlying record object 198 : // 199 0 : Record newRec; 200 0 : newRec.define (NCT::fieldName (NCT::SCAN_NUMBER), scanNo); 201 0 : addRec (newRec); 202 0 : }; 203 : 204 : //---------------------------------------------------------------------------- 205 : 206 0 : void CTMainRecord::defineObsId (const Int& obsId) 207 : { 208 : // Define the OBSERVATION_ID field value 209 : // Input: 210 : // obsId const Int& OBSERVATION_ID value 211 : // Output to private data: 212 : // itsRecord Record Underlying record object 213 : // 214 0 : Record newRec; 215 0 : newRec.define (NCT::fieldName (NCT::OBSERVATION_ID), obsId); 216 0 : addRec (newRec); 217 0 : }; 218 : 219 : //---------------------------------------------------------------------------- 220 : 221 0 : void CTMainRecord::defineCParam (const Array<Complex>& param) 222 : { 223 : // Define the CPARAM field value 224 : // Input: 225 : // param const Array<Complex>& cal solution param values 226 : // Output to private data: 227 : // itsRecord Record Underlying record object 228 : // 229 0 : Record newRec; 230 0 : newRec.define ("CPARAM", param); 231 0 : addRec (newRec); 232 0 : }; 233 : 234 : //---------------------------------------------------------------------------- 235 : 236 0 : void CTMainRecord::defineFParam (const Array<Float>& param) 237 : { 238 : // Define the FPARAM field value 239 : // Input: 240 : // param const Array<Float>& cal solution param values 241 : // Output to private data: 242 : // itsRecord Record Underlying record object 243 : // 244 0 : Record newRec; 245 0 : newRec.define ("FPARAM", param); 246 0 : addRec (newRec); 247 0 : }; 248 : 249 : 250 : //---------------------------------------------------------------------------- 251 : 252 0 : void CTMainRecord::defineParamerr (const Array<Float>& paramerr) 253 : { 254 : // Define the PARAMERR field value 255 : // Input: 256 : // paramerr const Array<Float>& cal solution param err values 257 : // Output to private data: 258 : // itsRecord Record Underlying record object 259 : // 260 0 : Record newRec; 261 0 : newRec.define ("PARAMERR", paramerr); 262 0 : addRec (newRec); 263 0 : }; 264 : 265 : //---------------------------------------------------------------------------- 266 : 267 0 : void CTMainRecord::defineFlag (const Array<Bool>& flag) 268 : { 269 : // Define the FLAG field value 270 : // Input: 271 : // flag const Array<Bool>& cal solution param err values 272 : // Output to private data: 273 : // itsRecord Record Underlying record object 274 : // 275 0 : Record newRec; 276 0 : newRec.define ("FLAG", flag); 277 0 : addRec (newRec); 278 0 : }; 279 : 280 : //---------------------------------------------------------------------------- 281 : 282 0 : void CTMainRecord::defineSnr (const Array<Float>& snr) 283 : { 284 : // Define the SNR field value 285 : // Input: 286 : // SNR const Array<Float>& cal solution snr values 287 : // Output to private data: 288 : // itsRecord Record Underlying record object 289 : // 290 0 : Record newRec; 291 0 : newRec.define ("SNR", snr); 292 0 : addRec (newRec); 293 0 : }; 294 : 295 : //---------------------------------------------------------------------------- 296 : 297 0 : void CTMainRecord::defineWeight (const Array<Float>& weight) 298 : { 299 : // Define the Weight field value 300 : // Input: 301 : // weight const Array<Float>& cal solution weight values 302 : // Output to private data: 303 : // itsRecord Record Underlying record object 304 : // 305 0 : Record newRec; 306 0 : newRec.define ("Weight", weight); 307 0 : addRec (newRec); 308 0 : }; 309 : 310 : //---------------------------------------------------------------------------- 311 : 312 0 : void CTMainRecord::getTime (Double& time) 313 : { 314 : // Get the TIME field value 315 : // Output: 316 : // time Double& TIME value 317 : // Input from private data: 318 : // itsRecord Record Underlying record object 319 : // 320 0 : record().get (NCT::fieldName (NCT::TIME), time); 321 0 : }; 322 : 323 : //---------------------------------------------------------------------------- 324 : 325 0 : void CTMainRecord::getInterval (Double& interval) 326 : { 327 : // Get the INTERVAL field value 328 : // Output: 329 : // interval Double& INTERVAL value 330 : // Input from private data: 331 : // itsRecord Record Underlying record object 332 : // 333 0 : record().get (NCT::fieldName (NCT::INTERVAL), interval); 334 0 : }; 335 : 336 : //---------------------------------------------------------------------------- 337 : 338 0 : void CTMainRecord::getAntenna1 (Int& antenna1) 339 : { 340 : // Get the ANTENNA1 field value 341 : // Output: 342 : // antenna1 Int& ANTENNA1 value 343 : // Input from private data: 344 : // itsRecord Record Underlying record object 345 : // 346 0 : record().get (NCT::fieldName (NCT::ANTENNA1), antenna1); 347 0 : }; 348 : 349 : //---------------------------------------------------------------------------- 350 : 351 0 : void CTMainRecord::getAntenna2 (Int& antenna2) 352 : { 353 : // Get the ANTENNA2 field value 354 : // Output: 355 : // antenna2 Int& ANTENNA2 value 356 : // Input from private data: 357 : // itsRecord Record Underlying record object 358 : // 359 0 : record().get (NCT::fieldName (NCT::ANTENNA2), antenna2); 360 0 : }; 361 : 362 : //---------------------------------------------------------------------------- 363 : 364 0 : void CTMainRecord::getFieldId (Int& fieldId) 365 : { 366 : // Get the FIELD_ID field value 367 : // Output: 368 : // fieldId Int& FIELD_ID value 369 : // Input from private data: 370 : // itsRecord Record Underlying record object 371 : // 372 0 : record().get (NCT::fieldName (NCT::FIELD_ID), fieldId); 373 0 : }; 374 : 375 : //---------------------------------------------------------------------------- 376 : 377 0 : void CTMainRecord::getSpwId (Int& spwId) 378 : { 379 : // Get the SPECTRAL_WINDOW_ID field value 380 : // Output: 381 : // spwId Int& SPECTRAL_WINDOW_ID value 382 : // Input from private data: 383 : // itsRecord Record Underlying record object 384 : // 385 0 : record().get (NCT::fieldName (NCT::SPECTRAL_WINDOW_ID), spwId); 386 0 : }; 387 : 388 : //---------------------------------------------------------------------------- 389 : 390 0 : void CTMainRecord::getScanNo (Int& scanNo) 391 : { 392 : // Get the SCAN_NUMBER field value 393 : // Output: 394 : // scanNo Int& SCAN_NUMBER value 395 : // Input from private data: 396 : // itsRecord Record Underlying record object 397 : // 398 0 : record().get (NCT::fieldName (NCT::SCAN_NUMBER), scanNo); 399 0 : }; 400 : 401 : //---------------------------------------------------------------------------- 402 : 403 0 : void CTMainRecord::getParam (Array<Complex>& param) 404 : { 405 : // Get the PARAM field value 406 : // Output: 407 : // param Array<Complex>& PARAM value 408 : // Input from private data: 409 : // itsRecord Record Underlying record object 410 : // 411 0 : record().get ("PARAM", param); 412 0 : }; 413 : 414 : //---------------------------------------------------------------------------- 415 : 416 0 : void CTMainRecord::getParamerr (Array<Float>& paramerr) 417 : { 418 : // Get the PARAMERR field value 419 : // Output: 420 : // paramerr Array<Float>& paramerr value 421 : // Input from private data: 422 : // itsRecord Record Underlying record object 423 : // 424 0 : record().get ("PARAMERR", paramerr); 425 0 : }; 426 : 427 : //---------------------------------------------------------------------------- 428 : 429 0 : void CTMainRecord::getFlag (Array<Bool>& flag) 430 : { 431 : // Get the FLAG field value 432 : // Output: 433 : // flag Array<Bool>& flag value 434 : // Input from private data: 435 : // itsRecord Record Underlying record object 436 : // 437 0 : record().get ("FLAG", flag); 438 0 : }; 439 : 440 : //---------------------------------------------------------------------------- 441 : 442 0 : void CTMainRecord::getSnr (Array<Float>& snr) 443 : { 444 : // Get the FLAG field value 445 : // Output: 446 : // snr Array<Float>& snr value 447 : // Input from private data: 448 : // itsRecord Record Underlying record object 449 : // 450 0 : record().get ("SNR", snr); 451 0 : }; 452 : 453 : //---------------------------------------------------------------------------- 454 : 455 0 : void CTMainRecord::getWeight (Array<Float>& weight) 456 : { 457 : // Get the WEIGHT field value 458 : // Output: 459 : // weight Array<Float>& weight value 460 : // Input from private data: 461 : // itsRecord Record Underlying record object 462 : // 463 0 : record().get ("WEIGHT", weight); 464 0 : }; 465 : 466 : 467 : } //# NAMESPACE CASA - END 468 :