source: trunk/src/STCalSkyTable.h @ 2964

Last change on this file since 2964 was 2964, checked in by Takeshi Nakazato, 10 years ago

New Development: No

JIRA Issue: Yes CAS-6585, CAS-6571

Ready for Test: Yes

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...

Code refactoring.


File size: 2.1 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               const casa::Vector<casa::Float> &spectra,
50               const casa::Vector<casa::uChar> &flagtra);
51  void appenddata(casa::uInt scanno, casa::uInt cycleno, casa::uInt beamno,
52                  casa::uInt ifno, casa::uInt polno, casa::uInt freqid, 
53                  casa::Double time, casa::Float elevation,
54                  const casa::Vector<casa::Float> &spectra,
55                  const casa::Vector<casa::uChar> &flagtra);
56 
57  casa::Vector<casa::Float> getElevation() const {return elCol_.getColumn();}
58  casa::Matrix<casa::Float> getSpectra() const {return spectraCol_.getColumn();}
59  casa::Matrix<casa::uChar> getFlagtra() const {return flagtraCol_.getColumn();}
60  casa::uInt nchan(casa::uInt ifno);
61
62  //casa::Vector<casa::Double> getBaseFrequency(casa::uInt whichrow);
63
64private:
65  static const casa::String name_;
66  const casa::String caltype_;
67  casa::ArrayColumn<casa::Float> spectraCol_;
68  casa::ArrayColumn<casa::uChar> flagtraCol_;
69  casa::ScalarColumn<casa::Float> elCol_;
70};
71
72}
73
74#endif
Note: See TracBrowser for help on using the repository browser.