prodSubset

class prodSubset : public kotekan::Stage

kotekan::Stage that extracts a subset of the products.

This task consumes a full set of visibilities from a VisBuffer and passes on a subset of products to an output VisBuffer. The subset extracted depends on the parameter ‘prod_subset_type’. Here is a list of values ‘prod_subset_type’ can take and the parameters they support:

  • ’all’: no extra parameters needed

    • Default. All the products.

  • ’autos’: no extra parameters needed

    • The subset are all the auto-correlations.

  • ’baseline’: max_ew_baseline, max_ns_baseline

    • Selects a subset of products whose baseline length is smaller than the maximum values given by config parameters in the EW and NS directions.

  • ’have_inputs’: input_list

    • The subset are all the correlations containing at least one of the inputs in the input_list.

  • ’only_inputs’: input_list

    • The subset are all the correlations containing only inputs from the input_list.

Buffers

  • in_buf The kotekan buffer from which the visibilities are read, can be any size.

    • Format: VisBuffer structured

    • Metadata: VisMetadata

  • out_buf The kotekan buffer which will be fed the subset of visibilities.

    • Format: VisBuffer structured

    • Metadata: VisMetadata

Author

Tristan Pinsonneault-Marotte and Mateus Fandino

Warning

This will only work correctly if the full correlation triangle is passed in as input.

Param prod_subset_type:

string. Type of product subset to perform.

Param num_elements:

int. The number of elements (i.e. inputs) in the correlator data

Param num_ev:

int. The number of eigenvectors to be stored

Param max_ew_baseline:

int. The maximum baseline length along the EW direction to include in subset (in units of the shortest EW baseline)

Param max_ns_baseline:

int. The maximum baseline length along the NS direction to include in subset (in units of the shortest NS baseline)

Param input_list:

vector of int. The list of inputs to include.

Public Functions

prodSubset(kotekan::Config &config, const std::string &unique_name, kotekan::bufferContainer &buffer_container)

Constructor. Loads config options. Defines subset of products.

virtual void main_thread() override

Primary loop: sorts products and passes them on to output buffer.