source: trunk/src/STCalSkyTable.h @ 2720

Last change on this file since 2720 was 2720, checked in by Takeshi Nakazato, 11 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.8 KB
Line 
1//
2// C++ Interface: STCalSkyTable
3//
4// Description:
5//
6// ApplyTable for sky calibration.
7//
8// Author: Takeshi Nakazato <takeshi.nakazato@nao.ac.jp> (C) 2012
9//
10// Copyright: See COPYING file that comes with this distribution
11//
12//
13#ifndef ASAP_CALSKY_TABLE_H
14#define ASAP_CALSKY_TABLE_H
15
16#include <casa/Arrays/Vector.h>
17#include <casa/Arrays/Matrix.h>
18#include <tables/Tables/ArrayColumn.h>
19#include <tables/Tables/ScalarColumn.h>
20
21#include "Scantable.h"
22#include "STApplyTable.h"
23
24namespace asap {
25
26/**
27ApplyTable for sky calibration
28
29@author Takeshi Nakazato
30@date $Date:$
31@version $Revision:$
32*/
33class STCalSkyTable : public STApplyTable {
34public:
35  STCalSkyTable() {;}
36  STCalSkyTable(const Scantable& parent, const casa::String &caltype);
37  STCalSkyTable(const casa::String &name);
38
39  virtual ~STCalSkyTable();
40
41  void setup();
42  void attachOptionalColumns();
43
44  const casa::String& name() const {return name_;}
45
46  void setdata(casa::uInt irow, casa::uInt scannos, casa::uInt cycleno,
47               casa::uInt beamno, casa::uInt ifno, casa::uInt polno,
48               casa::uInt freqid, casa::Double time, casa::Float elevation,
49               casa::Vector<casa::Float> spectra);
50  void appenddata(casa::uInt scanno, casa::uInt cycleno, casa::uInt beamno,
51                  casa::uInt ifno, casa::uInt polno, casa::uInt freqid, 
52                  casa::Double time, casa::Float elevation,
53                  casa::Vector<casa::Float> spectra);
54 
55  casa::Vector<casa::Float> getElevation() {return elCol_.getColumn();}
56  casa::Matrix<casa::Float> getSpectra() {return spectraCol_.getColumn();}
57  casa::uInt nchan(casa::uInt ifno);
58
59  //casa::Vector<casa::Double> getBaseFrequency(casa::uInt whichrow);
60private:
61  static const casa::String name_;
62  const casa::String caltype_;
63  casa::ArrayColumn<casa::Float> spectraCol_;
64  casa::ScalarColumn<casa::Float> elCol_;
65};
66
67}
68
69#endif
Note: See TracBrowser for help on using the repository browser.