source: trunk/src/STSideBandSep.h@ 2707

Last change on this file since 2707 was 2707, checked in by Kana Sugimoto, 12 years ago

New Development: Yes

JIRA Issue: Yes (CAS-4141)

Ready for Test: Yes

Interface Changes: Yes

What Interface Changed:

  • a new c++ class, STSideBandSep and its python interface.
  • a new method set_lo1 in the sbseparator module.

Test Programs: manual tests by CSV scientists.

Put in Release Notes: No

Module(s): STSidebandSep (a new class) and sbseparator

Description:

Added a new c++ class, STSideBandSep, and its python interface (python_STSideBandSep.cpp).
The class works on calculating frequency information of image side band and fill scantable.
Also added a new python method, set_lo1(double), in sbseparator module. This is to allow
user to set LO1 frequency to solve frequencies of image side band manually.


File size: 1.9 KB
Line 
1// C++ Interface: STSideBandSep
2//
3// Description:
4// A class to invoke sideband separation of Scantable
5//
6// Author: Kanako Sugimoto <kana.sugi@nao.ac.jp>, (C) 2012
7//
8// Copyright: See COPYING file that comes with this distribution
9//
10//
11#ifndef ASAPSIDEBANDSEP_H
12#define ASAPSIDEBANDSEP_H
13
14// STL
15#include <iostream>
16#include <string>
17#include <vector>
18// casacore
19#include <casa/aips.h>
20#include <casa/Utilities/CountedPtr.h>
21#include <measures/Measures/MDirection.h>
22#include <coordinates/Coordinates/DirectionCoordinate.h>
23#include <coordinates/Coordinates/SpectralCoordinate.h>
24// asap
25#include "ScantableWrapper.h"
26#include "Scantable.h"
27
28using namespace std;
29using namespace casa;
30
31namespace asap {
32
33class STSideBandSep {
34public:
35 /**
36 * constructors and a destructor
37 **/
38 STSideBandSep();
39 //explicit STSideBandSep(const vector<string> infile);
40 //explicit STSideBandSep(const vector<ScantableWrapper> &tables);
41 virtual ~STSideBandSep();
42
43 /**
44 * Set parameters for sideband separation
45 **/
46 void setFrequency(const unsigned int ifno, const double freqtol, string frame="");
47
48 /**
49 * Set separated scantable to fill frequencies of image sideband (temporal)
50 **/
51 void setImageTable(const ScantableWrapper &s);
52 /**
53 * Set additional information to fill frequencies of image sideband
54 **/
55 void setLO1(const double lo1, string frame="TOPO", double reftime=-1, string refdir="");
56 void setLO1Asdm(const string asdmname);
57 /**
58 * Actual calculation of frequencies of image sideband
59 **/
60 void solveImageFreqency();
61
62private:
63 Bool checkFile(const string name, string type="");
64 bool getLo1FromAsdm(string asdmname);
65 bool getLo1FromTab(casa::CountedPtr< Scantable > &scantab);
66
67 unsigned int sigIfno_;
68 double ftol_;
69 double lo1Freq_;
70 MFrequency::Types loFrame_;
71 double loTime_;
72 string loDir_;
73 string asdmName_;
74
75 CountedPtr< Scantable > imgTab_p, sigTab_p;
76
77}; // class
78
79} // namespace
80
81#endif
Note: See TracBrowser for help on using the repository browser.