source: trunk/src/STSideBandSep.h@ 2720

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

New Development: No

JIRA Issue: Yes (CAS-4141)

Ready for Test: Yes

Interface Changes: Yes

What Interface Changed: added temporal methods to set scantable to STSideBandSep for a workaround.

Test Programs:

Put in Release Notes: No

Module(s): STSideBandSep and sbseparator

Description:

Enabled getting LO1 frequency based on information in scantable header
(if necessary information exists).


File size: 2.3 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 scantable to fill frequencies of image sideband (temporal)
50 **/
51 void setImageTable(const ScantableWrapper &s);
52 void setScanTb0(const ScantableWrapper &s);
53 /**
54 * Set additional information to fill frequencies of image sideband
55 **/
56 void setLO1(const double lo1, string frame="TOPO", double reftime=-1, string refdir="");
57 void setLO1Root(const string name);
58 /**
59 * Actual calculation of frequencies of image sideband
60 **/
61 void solveImageFreqency();
62
63private:
64 Bool checkFile(const string name, string type="");
65 bool getLo1FromAsdm(const string asdmname,
66 const double refval, const double refpix,
67 const double increment, const int nChan);
68 bool getLo1FromAsisTab(const string msname,
69 const double refval, const double refpix,
70 const double increment, const int nChan);
71 bool getLo1FromScanTab(casa::CountedPtr< Scantable > &scantab,
72 const double refval, const double refpix,
73 const double increment, const int nChan);
74
75 unsigned int sigIfno_;
76 double ftol_;
77 double lo1Freq_;
78 MFrequency::Types loFrame_;
79 double loTime_;
80 string loDir_;
81 string asdmName_, asisName_;
82
83 CountedPtr<Scantable> imgTab_p, sigTab_p;
84 // TEMPORAL member
85 CountedPtr<Scantable> st0_;
86
87}; // class
88
89} // namespace
90
91#endif
Note: See TracBrowser for help on using the repository browser.