1 #ifndef MHO_MultitonePhaseCorrection_HH__
2 #define MHO_MultitonePhaseCorrection_HH__
50 void SetStation(std::string station) { fStationCode = station; };
64 void SetPCPeriod(std::size_t pc_period) { fPCPeriod = pc_period; }
91 if(fPCData !=
nullptr)
108 if(fPCData !=
nullptr)
136 #ifdef HOPS_USE_FFTW3
145 void InitializeFFTEngine();
164 bool PolMatch(std::size_t station_idx, std::string& pc_pol, std::string& polprod);
173 void DetermineChannelToneIndexes(
double lower_freq,
double upper_freq, std::size_t& lower_idx, std::size_t& upper_idx);
176 void ApplyPCData(std::size_t pc_pol, std::size_t vis_pp,
visibility_type* in);
179 void FitPCData(std::size_t ntones,
double chan_center_freq,
double sampler_delay,
double* phase_spline,
180 std::string net_sideband);
183 std::complex< double > fImagUnit;
185 double fNanoSecToSecond;
190 std::string fStationCode;
192 std::size_t fStationIndex;
195 std::size_t fPCPeriod;
202 std::size_t fWorkspaceSize;
203 pcal_type fPCWorkspace;
206 std::string fStationKey;
207 std::string fRemStationKey;
208 std::string fRefStationKey;
209 std::string fRemStationMk4IDKey;
210 std::string fRefStationMk4IDKey;
211 std::string fChannelLabelKey;
212 std::string fSidebandLabelKey;
213 std::string fBandwidthKey;
214 std::string fSkyFreqKey;
215 std::string fLowerSideband;
216 std::string fUpperSideband;
219 std::string fPCToneMaskChannelsKey;
220 std::string fPCToneMaskBitmasksKey;
221 bool fHavePCToneMask;
222 std::string fPCToneMaskChannels;
223 std::vector< int > fPCToneMaskBitmasks;
232 void make_upper(std::string& s)
Class MHO_AxisPack.
Definition: MHO_AxisPack.hh:22
Class MHO_MultitonePhaseCorrection.
Definition: MHO_MultitonePhaseCorrection.hh:40
void InterpolatePCData(double pcal_minus_visib_toffset)
Temporally interpolates phase calibration (Pcal) tone phasors.
Definition: MHO_MultitonePhaseCorrection.cc:71
void SetPCPeriod(std::size_t pc_period)
Setter for phase cal averaging period.
Definition: MHO_MultitonePhaseCorrection.hh:64
virtual bool InitializeInPlace(visibility_type *) override
Initializes visibility_type object in-place and checks if fPCData is nullptr.
Definition: MHO_MultitonePhaseCorrection.hh:89
MHO_MultitonePhaseCorrection()
Definition: MHO_MultitonePhaseCorrection.cc:24
virtual bool ExecuteInPlace(visibility_type *in) override
Applies multi-tone phase calibration to visibility data in-place.
Definition: MHO_MultitonePhaseCorrection.cc:141
void SetMultitonePCData(multitone_pcal_type *pcal)
Setter for multitone pcdata.
Definition: MHO_MultitonePhaseCorrection.cc:61
virtual ~MHO_MultitonePhaseCorrection()
Definition: MHO_MultitonePhaseCorrection.cc:59
void SetStationMk4ID(std::string station_id)
Setter for station mk4id.
Definition: MHO_MultitonePhaseCorrection.hh:57
void SetWeights(weight_type *w)
Setter for weights.
Definition: MHO_MultitonePhaseCorrection.hh:79
void SetStation(std::string station)
Setter for station code.
Definition: MHO_MultitonePhaseCorrection.hh:50
virtual bool InitializeOutOfPlace(const visibility_type *, visibility_type *) override
Initializes out-of-place visibility data (only if fPCData != nullptr).
Definition: MHO_MultitonePhaseCorrection.hh:106
Class MHO_PhaseCalibrationTrim.
Definition: MHO_PhaseCalibrationTrim.hh:34
Class MHO_UnaryOperator.
Definition: MHO_UnaryOperator.hh:24
Definition: MHO_AdhocFlagging.hh:18