1 #ifndef MHO_MBDelaySearch_HH__
2 #define MHO_MBDelaySearch_HH__
235 void SetWindow(
double* win,
double low,
double high);
313 #ifdef HOPS_USE_FFTW3
int axis(char *y_axis, char *x_axis)
Definition: axis.c:22
Class MHO_AxisPack.
Definition: MHO_AxisPack.hh:22
Class MHO_CyclicRotator.
Definition: MHO_CyclicRotator.hh:29
Class MHO_DelayRate.
Definition: MHO_DelayRate.hh:35
int GetDelayRateSearchSpaceSize() const
Getter for delay rate search space size.
Definition: MHO_DelayRate.hh:52
Class MHO_ExtremaSearch.
Definition: MHO_ExtremaSearch.hh:29
Class MHO_InspectingOperator.
Definition: MHO_InspectingOperator.hh:21
Class MHO_MBDelaySearch.
Definition: MHO_MBDelaySearch.hh:41
MHO_MBDelaySearch()
Definition: MHO_MBDelaySearch.cc:6
void GetWindow(const MHO_Axis< double > &axis, bool win_set, const double *win, double bin_width, double &low, double &high) const
Definition: MHO_MBDelaySearch.cc:299
weight_type fWeightsWorkspace
Definition: MHO_MBDelaySearch.hh:245
void SetMBDWindow(double low, double high)
Setter for mbd window.
Definition: MHO_MBDelaySearch.cc:325
mbd_type fMBDWorkspace
Definition: MHO_MBDelaySearch.hh:248
int fSBDStop
Definition: MHO_MBDelaySearch.hh:262
int fDRMaxBin
Definition: MHO_MBDelaySearch.hh:291
MHO_DelayRate fDelayRateCalc
Definition: MHO_MBDelaySearch.hh:305
MHO_Axis< double > fSBDAxis
Definition: MHO_MBDelaySearch.hh:300
std::vector< double > fSmoothedAmpBuffer
Definition: MHO_MBDelaySearch.hh:270
double fDRBinSep
Definition: MHO_MBDelaySearch.hh:274
double fCoarseDR
Definition: MHO_MBDelaySearch.hh:295
visibility_type sbd_dr_data
Definition: MHO_MBDelaySearch.hh:244
mbd_dr_type fSearchBuffer
Definition: MHO_MBDelaySearch.hh:325
void GetMBDWindow(double &low, double &high) const
Getter for mbd window.
Definition: MHO_MBDelaySearch.cc:345
double fGridSpace
Definition: MHO_MBDelaySearch.hh:253
double GetAverageFrequency() const
Definition: MHO_MBDelaySearch.hh:196
double GetCoarseDR() const
Getter for coarse dr.
Definition: MHO_MBDelaySearch.hh:147
double fTCohere
Definition: MHO_MBDelaySearch.hh:266
double fSBDWin[2]
Definition: MHO_MBDelaySearch.hh:278
double fCoarseSBD
Definition: MHO_MBDelaySearch.hh:294
double GetSBDBinSeparation() const
Getter for sbd bin separation.
Definition: MHO_MBDelaySearch.hh:165
time_axis_type * GetMBDAxis()
Definition: MHO_MBDelaySearch.hh:198
virtual ~MHO_MBDelaySearch()
Definition: MHO_MBDelaySearch.cc:41
bool fSBDWinSet
Definition: MHO_MBDelaySearch.hh:283
void SetWindow(double *win, double low, double high)
Definition: MHO_MBDelaySearch.cc:285
double GetFrequencySpacing() const
Definition: MHO_MBDelaySearch.hh:194
double fNPointsSearched
Definition: MHO_MBDelaySearch.hh:298
double fCoarseMBD
Definition: MHO_MBDelaySearch.hh:293
virtual bool ExecuteImpl(const XArgType *in) override
Inspects a single const array.
Definition: MHO_MBDelaySearch.cc:150
double GetCoarseSBD() const
Getter for coarse sbd.
Definition: MHO_MBDelaySearch.hh:140
std::size_t fNGridPoints
Definition: MHO_MBDelaySearch.hh:255
double fAverageFreq
Definition: MHO_MBDelaySearch.hh:254
double fAccPeriod
Definition: MHO_MBDelaySearch.hh:267
bool fDRWinSet
Definition: MHO_MBDelaySearch.hh:285
double fSBDBinSep
Definition: MHO_MBDelaySearch.hh:273
std::size_t fNDR
Definition: MHO_MBDelaySearch.hh:257
visibility_type fSBDDrWorkspace
Definition: MHO_MBDelaySearch.hh:243
void SetReferenceFrequency(double ref_freq)
Setter for reference frequency.
Definition: MHO_MBDelaySearch.hh:58
FFT_2D_ENGINE_TYPE fBatchedFFTEngine
Definition: MHO_MBDelaySearch.hh:322
std::vector< double > fChannelFreqs
Definition: MHO_MBDelaySearch.hh:241
std::size_t fNSBD
Definition: MHO_MBDelaySearch.hh:256
int GetDRMaxBin() const
Getter for drmax bin.
Definition: MHO_MBDelaySearch.hh:126
double fMBDWin[2]
Definition: MHO_MBDelaySearch.hh:279
weight_type * fWeights
Definition: MHO_MBDelaySearch.hh:246
std::size_t fNDRSP
Definition: MHO_MBDelaySearch.hh:258
mbd_amp_type fMBDAmpWorkspace
Definition: MHO_MBDelaySearch.hh:249
double fMBDBinSep
Definition: MHO_MBDelaySearch.hh:275
double fMax
Definition: MHO_MBDelaySearch.hh:288
bool fTCohereEnabled
Definition: MHO_MBDelaySearch.hh:265
int GetMBDMaxBin() const
Getter for mbdmax bin.
Definition: MHO_MBDelaySearch.hh:112
std::map< std::size_t, std::size_t > fMBDBinMap
Definition: MHO_MBDelaySearch.hh:259
std::vector< std::size_t > fMBDBinForChannel
Definition: MHO_MBDelaySearch.hh:311
int fSBDMaxBin
Definition: MHO_MBDelaySearch.hh:290
double fRefFreq
Definition: MHO_MBDelaySearch.hh:260
bool fMBDWinSet
Definition: MHO_MBDelaySearch.hh:284
int GetNDRSPBins() const
Definition: MHO_MBDelaySearch.hh:188
MHO_UniformGridPointsCalculator fGridCalc
Definition: MHO_MBDelaySearch.hh:304
bool fInitialized
Definition: MHO_MBDelaySearch.hh:240
int fSBDStart
Definition: MHO_MBDelaySearch.hh:261
int GetNMBDBins() const
Getter for N mbd bins.
Definition: MHO_MBDelaySearch.hh:172
double GetCoarseMBD() const
Getter for coarse mbd.
Definition: MHO_MBDelaySearch.hh:133
double fGridStart
Definition: MHO_MBDelaySearch.hh:252
bool finalize_search()
Finalize the coarse search: validate bin locations, compute coarse delay values from axis lookups,...
Definition: MHO_MBDelaySearch.cc:387
void GetDRWindow(double &low, double &high) const
Getter for dr window.
Definition: MHO_MBDelaySearch.cc:350
MHO_Axis< double > fMBDAxis
Definition: MHO_MBDelaySearch.hh:301
int GetNDRBins() const
Getter for ndrbins.
Definition: MHO_MBDelaySearch.hh:186
int GetNSBDBins() const
Getter for n sbd bins.
Definition: MHO_MBDelaySearch.hh:179
void SetSBDWindow(double low, double high)
Setter for sbd window.
Definition: MHO_MBDelaySearch.cc:318
void SetWeights(weight_type *wt_data)
Setter for weights.
Definition: MHO_MBDelaySearch.hh:51
virtual bool InitializeImpl(const XArgType *in) override
initializes inspection for a single const array of type XArgType.
Definition: MHO_MBDelaySearch.cc:43
double GetSearchMaximumAmplitude() const
Definition: MHO_MBDelaySearch.hh:192
double GetNPointsSearched() const
Definition: MHO_MBDelaySearch.cc:278
void apply_dr_boxcar_smooth(mbd_dr_type &buffer, std::vector< double > &scratch)
Applies incoherent box-car smoothing over the delay-rate dimension of the given search buffer,...
Definition: MHO_MBDelaySearch.cc:355
void GetSBDWindow(double &low, double &high) const
Getter for sbd window.
Definition: MHO_MBDelaySearch.cc:340
double fDRWin[2]
Definition: MHO_MBDelaySearch.hh:280
delay_rate_axis_type * GetDRAxis()
Definition: MHO_MBDelaySearch.hh:200
void SetDRWindow(double low, double high)
Setter for dr window.
Definition: MHO_MBDelaySearch.cc:332
MHO_CyclicRotator< mbd_type > fCyclicRotator
Definition: MHO_MBDelaySearch.hh:327
int GetSBDMaxBin() const
Getter for sbdmax bin.
Definition: MHO_MBDelaySearch.hh:119
void SetCoherenceTime(double t_cohere)
Setter for coherence time (enables incoherent averaging over delay rate)
Definition: MHO_MBDelaySearch.hh:154
MHO_ExtremaSearch< mbd_amp_type > fMaxSearch
Definition: MHO_MBDelaySearch.hh:329
FFT_ENGINE_TYPE fFFTEngine
Definition: MHO_MBDelaySearch.hh:321
int fMBDMaxBin
Definition: MHO_MBDelaySearch.hh:289
std::map< std::size_t, std::size_t > fChannelIndexToFreqPointIndex
Definition: MHO_MBDelaySearch.hh:308
MHO_Axis< double > fDRAxis
Definition: MHO_MBDelaySearch.hh:302
char buffer[MAX_BUFFER][MAX_CHARS]
Definition: fourmer.c:46
Definition: MHO_AdhocFlagging.hh:18
MHO_TableContainer< visibility_element_type, baseline_axis_pack > visibility_type
Definition: MHO_BaselineContainers.hh:52