source: trunk/src/CalibrationManager.h @ 3106

Last change on this file since 3106 was 3106, checked in by Takeshi Nakazato, 8 years ago

New Development: No

JIRA Issue: No

Ready for Test: Yes/No?

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


Check-in asap modifications from Jim regarding casacore namespace conversion.

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);
[3106]55  void setTsysSpwWithRange(const casacore::Record &spwlist, bool average=false);
[2742]56  void setTsysTransfer(unsigned int from,
57                       const std::vector<unsigned int> &to);
[3106]58  void setCalibrationOptions(const casacore::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
[3106]69  casacore::Bool isAlmaAntenna();
[2757]70
[3106]71  casacore::CountedPtr<STApplyCal> applicator_;
[2742]72
[3106]73  std::vector<casacore::CountedPtr<STApplyTable> > skytables_;
74  std::vector<casacore::CountedPtr<STApplyTable> > tsystables_;
[2742]75
[3106]76  casacore::CountedPtr<Scantable> target_;
[2742]77
[3106]78  casacore::String calmode_;
[2742]79  std::vector<int> spwlist_;
[3106]80  casacore::Record spwlist_withrange_;
[2923]81  bool do_average_;
[2742]82
[3106]83  casacore::LogIO os_;
[2757]84
[3106]85  casacore::Record options_;
[2742]86};
87
88}
89#endif
Note: See TracBrowser for help on using the repository browser.