source: trunk/src/PSAlmaCalibrator.cpp @ 3106

Last change on this file since 3106 was 3106, checked in by Takeshi Nakazato, 8 years ago

New Development: No

JIRA Issue: No

Ready for Test: Yes/No?

Interface Changes: Yes/No?

What Interface Changed: Please list interface changes

Test Programs: List test programs

Put in Release Notes: Yes/No?

Module(s): Module Names change impacts.

Description: Describe your changes here...


Check-in asap modifications from Jim regarding casacore namespace conversion.

File size: 1.3 KB
Line 
1//
2// C++ Implementation: PSAlmaCalibrator
3//
4// Description:
5//
6//
7// Author: Takeshi Nakazato <takeshi.nakazato@nao.ac.jp>, (C) 2012
8//
9// Copyright: See COPYING file that comes with this distribution
10//
11//
12#include <assert.h>
13
14#include <casa/Exceptions/Error.h>
15#include <casa/Utilities/Assert.h>
16
17#include "PSAlmaCalibrator.h"
18
19using namespace casacore;
20
21namespace asap {
22
23PSAlmaCalibrator::PSAlmaCalibrator()
24  : Calibrator()
25{}
26
27PSAlmaCalibrator::PSAlmaCalibrator(unsigned int nchan)
28  : Calibrator(nchan)
29{}
30
31void PSAlmaCalibrator::calibrate()
32{
33  //assert(source_);
34  //assert(ref_);
35  //assert(scaler_);
36  //assert(calibrated_);
37  assert_<AipsError>(source_, "Source spectrum is null.");
38  assert_<AipsError>(ref_, "Reference spectrum is null.");
39  assert_<AipsError>(scaler_, "Scaling factor is null.");
40  assert_<AipsError>(calibrated_, "Calibrated spectrum is null.");
41
42  Float *p_s = source_;
43  Float *p_r = ref_;
44  Float *p_c = calibrated_;
45  for (unsigned int i = 0; i < nchan_; i++) {
46    *p_c = *p_s / *p_r - 1.0;
47    p_s++;
48    p_r++;
49    p_c++;
50  }
51 
52  p_c = calibrated_;
53  p_s = scaler_;
54  if (nchanS_ == 1) {
55    for (unsigned int i = 0; i < nchan_; i++) {
56      *p_c *= *p_s;
57      p_c++;
58    }
59  }
60  else {
61    for (unsigned int i = 0; i < nchan_; i++) {
62      *p_c *= *p_s;
63      p_c++;
64      p_s++;
65    }
66  }
67}
68
69}
Note: See TracBrowser for help on using the repository browser.