source: trunk/src/CalibrationManager.h@ 3104

Last change on this file since 3104 was 3085, checked in by Takeshi Nakazato, 9 years ago

New Development: No

JIRA Issue: No

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


Reorder include files to suppress compiler warning related with _XOPEN_SOURCE redefinition.

File size: 2.3 KB
RevLine 
[2742]1//
2// C++ Interface: CalibrationManager
3//
4// Description:
5//
6//
7// Author: Takeshi Nakazato <takeshi.nakazato@nao.ac.jp>, (C) 2012
8//
9// Copyright: See COPYING file that comes with this distribution
10//
11//
12#ifndef ASAP_CALIBRATION_MANAGER_H
13#define ASAP_CALIBRATION_MANAGER_H
14
[3085]15// ASAP
16// ScantableWrapper.h must be included first to avoid compiler warnings
17// related with _XOPEN_SOURCE
18#include "ScantableWrapper.h"
19#include "STApplyCal.h"
20#include "STCalTsys.h"
21#include "STCalibration.h"
22#include "STCalEnum.h"
23
[2742]24#include <string>
25#include <vector>
26
27//#include <boost/scoped_ptr>
28
29#include <casa/BasicSL/String.h>
30#include <casa/Utilities/CountedPtr.h>
31#include <casa/Logging/LogIO.h>
32
33namespace asap {
34
35/**
36 * Class for calibration management.
37 * It also intends to be an interface for Python layer.
38 * @author TakeshiNakazato
39 */
40class CalibrationManager {
41public:
42 CalibrationManager();
43
44 virtual ~CalibrationManager();
45
46 void setScantable(ScantableWrapper &s);
47 void setScantableByName(const std::string &s);
[2762]48 void addApplyTable(const std::string &c);
[2742]49 void addSkyTable(const std::string &c);
50 void addTsysTable(const std::string &c);
51 void setMode(const std::string &mode);
52 void setTimeInterpolation(const std::string &interp, int order=-1);
53 void setFrequencyInterpolation(const std::string &interp, int order=-1);
54 void setTsysSpw(const std::vector<int> &spwlist);
[2922]55 void setTsysSpwWithRange(const casa::Record &spwlist, bool average=false);
[2742]56 void setTsysTransfer(unsigned int from,
57 const std::vector<unsigned int> &to);
[2757]58 void setCalibrationOptions(const casa::Record &options) {options_ = options;}
[2742]59 void resetCalSetup();
60 void reset();
61
62 void calibrate();
[2750]63 void apply(bool insitu=false, bool filltsys=true);
[2742]64 void saveCaltable(const std::string &name);
65 void split(const std::string &name);
66private:
67 STCalEnum::InterpolationType stringToInterpolationEnum(const std::string &s);
68
[2757]69 casa::Bool isAlmaAntenna();
70
[2742]71 casa::CountedPtr<STApplyCal> applicator_;
72
73 std::vector<casa::CountedPtr<STApplyTable> > skytables_;
74 std::vector<casa::CountedPtr<STApplyTable> > tsystables_;
75
76 casa::CountedPtr<Scantable> target_;
77
78 casa::String calmode_;
79 std::vector<int> spwlist_;
[2922]80 casa::Record spwlist_withrange_;
[2923]81 bool do_average_;
[2742]82
83 casa::LogIO os_;
[2757]84
85 casa::Record options_;
[2742]86};
87
88}
89#endif
Note: See TracBrowser for help on using the repository browser.