source: trunk/src/STSideBandSep.h @ 2710

Last change on this file since 2710 was 2707, checked in by Kana Sugimoto, 11 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.