Last change
on this file since 2782 was 2720, checked in by Takeshi Nakazato, 12 years ago |
New Development: Yes
JIRA Issue: Yes CAS-4770 and its sub-tickets
Ready for Test: Yes
Interface Changes: 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...
First version of applycal for single dish calibration.
Added new classes for the operation (STApplyCal, Calibrator, PSAlmaCalibrator,
Locator, BisectionLocator, Interpolator1D, NearestInterpolator1D).
Also, modified existing classes to fit with implementation of applycal.
|
File size:
1.1 KB
|
Rev | Line | |
---|
[2720] | 1 | //
|
---|
| 2 | // C++ Interface: Calibrator
|
---|
| 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 | #ifndef ASAP_CALIBRATOR_H
|
---|
| 13 | #define ASAP_CALIBRATOR_H
|
---|
| 14 |
|
---|
| 15 | #include <memory>
|
---|
| 16 |
|
---|
| 17 | #include <casa/aips.h>
|
---|
| 18 | #include <casa/Arrays/Vector.h>
|
---|
| 19 | #include <casa/BasicSL/String.h>
|
---|
| 20 | #include <casa/Utilities/CountedPtr.h>
|
---|
| 21 |
|
---|
| 22 | namespace asap {
|
---|
| 23 |
|
---|
| 24 | /**
|
---|
| 25 | * Base class for calibration operation
|
---|
| 26 | * @author TakeshiNakazato
|
---|
| 27 | */
|
---|
| 28 | class Calibrator {
|
---|
| 29 | public:
|
---|
| 30 | Calibrator();
|
---|
| 31 | Calibrator(unsigned int nchan);
|
---|
| 32 |
|
---|
| 33 | virtual ~Calibrator();
|
---|
| 34 |
|
---|
| 35 | void setSource(casa::Vector<casa::Float> &v);
|
---|
| 36 | void setReference(casa::Vector<casa::Float> &v);
|
---|
| 37 | void setReference2(casa::Vector<casa::Float> &v);
|
---|
| 38 | void setScaler(casa::Vector<casa::Float> &v);
|
---|
| 39 |
|
---|
| 40 | const casa::Vector<casa::Float> getCalibrated();
|
---|
| 41 |
|
---|
| 42 | virtual void calibrate() = 0;
|
---|
| 43 |
|
---|
| 44 | protected:
|
---|
| 45 | void initStorage();
|
---|
| 46 | void freeStorage();
|
---|
| 47 | void set(casa::Float *p, casa::Vector<casa::Float> &v);
|
---|
| 48 |
|
---|
| 49 | unsigned int nchan_;
|
---|
| 50 | unsigned int nchanS_;
|
---|
| 51 |
|
---|
| 52 | casa::Float *source_;
|
---|
| 53 | casa::Float *ref_;
|
---|
| 54 | casa::Float *ref2_;
|
---|
| 55 | casa::Float *scaler_;
|
---|
| 56 | casa::Float *calibrated_;
|
---|
| 57 | };
|
---|
| 58 |
|
---|
| 59 | }
|
---|
| 60 | #endif
|
---|
Note:
See
TracBrowser
for help on using the repository browser.