|
HOPS
HOPS class reference
|
Class MHO_DelayRate. More...
#include <MHO_DelayRate.hh>
Public Member Functions | |
| MHO_DelayRate () | |
| virtual | ~MHO_DelayRate () |
| unsigned int | CalculateSearchSpaceSize (unsigned int input_size) |
| Calculates the search space size based on input size. More... | |
| int | GetDelayRateSearchSpaceSize () const |
| Getter for delay rate search space size. More... | |
| void | SetReferenceFrequency (double ref_freq) |
| Setter for reference frequency. More... | |
Public Member Functions inherited from hops::MHO_BinaryOperator< visibility_type, weight_type, sbd_type > | |
| MHO_BinaryOperator () | |
| virtual | ~MHO_BinaryOperator () |
| virtual bool | Execute () override |
| Function Execute. More... | |
| virtual bool | Initialize () override |
| Function Initialize. More... | |
| void | SetArgs (const visibility_type *in1, const weight_type *in2, sbd_type *out) |
Public Member Functions inherited from hops::MHO_Operator | |
| MHO_Operator () | |
| virtual | ~MHO_Operator () |
| std::string | GetName () const |
| Getter for operator name. More... | |
| double | Priority () const |
| Get the the priority field value. More... | |
| void | SetName (std::string name) |
| Setter for operator name. More... | |
| void | SetPriority (double priority) |
| Setter for operator priority (determines order of execution within a operator category) More... | |
Protected Types | |
| using | XArgType1 = visibility_type |
| using | XArgType2 = weight_type |
| using | XArgType3 = sbd_type |
Protected Member Functions | |
| virtual bool | ExecuteImpl (const XArgType1 *in1, const XArgType2 *in2, XArgType3 *out) override |
| Executes MHO_DelayRate operations: zero padding, weighting, FFT, and resampling. More... | |
| virtual bool | InitializeImpl (const XArgType1 *in1, const XArgType2 *in2, XArgType3 *out) override |
| Initializes MHO_DelayRate with input data and prepares for delay rate calculation. More... | |
Protected Member Functions inherited from hops::MHO_ArgumentCarrier< Args > | |
| template<typename Func > | |
| auto | Apply (Func &&func) -> decltype(mho_tuple_apply(std::forward< Func >(func), fArgs)) |
Additional Inherited Members | |
Protected Attributes inherited from hops::MHO_ArgumentCarrier< Args > | |
| std::tuple< Args... > | fArgs |
Class MHO_DelayRate.
implements the delay rate search
Transforms a single SBD lag slice of the visibilities from the time (AP) domain into the delay-rate domain. The sequence is: zero-pad the time axis by kTimePadFactor, apply the data weights, forward FFT, then resample each channel onto a delay-rate grid which is common to all channels.
The last step is somewhat convoluted. The fringe rate seen in a channel is (delay rate) * (that channel's sky frequency), so one physical delay rate falls in a different fringe-rate bin in every channel. Resampling channel c by nu_c/nu_ref removes that dependence, so that output bin k maps to the same delay rate in every channel and MHO_MBDelaySearch may accumulate different channels into a shared rate bin.
Note that the axis labels written here are fringe rates at the reference frequency, i.e. nu_ref * (delay rate); the division by nu_ref is done by the caller.
|
protected |
|
protected |
|
protected |
| hops::MHO_DelayRate::MHO_DelayRate | ( | ) |
|
virtual |
| unsigned int hops::MHO_DelayRate::CalculateSearchSpaceSize | ( | unsigned int | input_size | ) |
Calculates the search space size based on input size.
| input_size | Input size for which to calculate the search space |
|
overrideprotectedvirtual |
Executes MHO_DelayRate operations: zero padding, weighting, FFT, and resampling.
| in1 | Input data for interpolation |
| in2 | Input data weights |
| out | Output padded array |
Implements hops::MHO_BinaryOperator< visibility_type, weight_type, sbd_type >.
|
inline |
Getter for delay rate search space size.
|
overrideprotectedvirtual |
Initializes MHO_DelayRate with input data and prepares for delay rate calculation.
| in1 | Input data of type XArgType1 |
| in2 | Additional input data of type XArgType2 |
| out | Output workspace of type XArgType3 |
Reimplemented from hops::MHO_BinaryOperator< visibility_type, weight_type, sbd_type >.
|
inline |
Setter for reference frequency.
| ref_freq | New reference frequency value in MHz |