Source
21
21
class VisSet;
22
22
class VisEquation;
23
23
24
24
class SDDoubleCircleGainCal final : public GJones {
25
25
public:
26
26
SDDoubleCircleGainCal(VisSet& vs);
27
27
SDDoubleCircleGainCal(const MSMetaInfoForCal& msmc);
28
28
virtual ~SDDoubleCircleGainCal();
29
29
30
30
// Return type name as string (ditto)
31
-
virtual casacore::String typeName() {
31
+
virtual casacore::String typeName() override {
32
32
return "SDGAIN_OTFD";
33
33
}
34
34
virtual casacore::String longTypeName() override {
35
35
return "SDGAIN_OTFD (Single Dish gain calibration for double circle fast scan";
36
36
}
37
37
38
38
// Return the parameter type
39
39
// so far single dish calibration is real
40
40
// virtual VisCalEnum::VCParType parType() { return VisCalEnum::REAL; }
41
41
51
51
virtual casacore::Bool useGenericSolveOne() override {
52
52
return false;
53
53
}
54
54
55
55
// Set the solving parameters
56
56
virtual void setSolve() override;
57
57
virtual void setSolve(const casacore::Record& solve) override;
58
58
59
59
// This is the freq-dep version of G
60
60
// (this is the ONLY fundamental difference from G)
61
-
virtual casacore::Bool freqDepPar() { return true; };
61
+
virtual casacore::Bool freqDepPar() override { return true; };
62
62
63
63
// Freq-dep Weight scaling
64
-
virtual casacore::Bool freqDepCalWt() { return true; };
64
+
virtual casacore::Bool freqDepCalWt() override { return true; };
65
65
66
66
// Report solve info/params, e.g., for logging
67
67
virtual casacore::String solveinfo() override;
68
68
69
69
// Post solve tinkering
70
70
virtual void globalPostSolveTinker() override;
71
71
72
72
// Self- gather and/or solve prototypes
73
73
// (triggered by useGenericGatherForSolve=F or useGenericSolveOne=F)
74
74
virtual void selfGatherAndSolve(VisSet& vs, VisEquation& ve) override;
75
75
virtual void selfSolveOne(SDBList &sdbs) override;
76
76
77
77
// specific keepNCT
78
78
virtual void keepNCT() override;
79
79
80
80
protected:
81
-
virtual void syncWtScale();
81
+
virtual void syncWtScale() override;
82
82
83
83
private:
84
84
template<class Accessor>
85
85
void executeDoubleCircleGainCal(casacore::MeasurementSet const &ms);
86
86
87
87
casacore::Double central_disk_size_;
88
88
casacore::Bool smooth_;
89
89
casacore::Vector<casacore::Int> currAnt_;
90
90
SDDoubleCircleGainCalImpl worker_;
91
91
};