DP3
Classes | Public Member Functions | List of all members
dp3::steps::BdaAverager Class Reference

#include <BDAAverager.h>

Inheritance diagram for dp3::steps::BdaAverager:
dp3::steps::Step

Public Member Functions

 BdaAverager (const common::ParameterSet &parset, const std::string &prefix, const bool use_weights_and_flags=true)
 
 ~BdaAverager () override
 
bool accepts (MsType t) const override
 Boolean if this step can process this type of data. More...
 
void finish () override
 Finish the processing of this step and subsequent steps. More...
 
common::Fields getProvidedFields () const override
 
common::Fields getRequiredFields () const override
 Get the fields required by the current step. More...
 
MsType outputs () const override
 Return which datatype this step outputs. More...
 
bool process (std::unique_ptr< base::DPBuffer > buffer) override
 
void PushBufferSizeRequest (size_t buffersize)
 
void SetAveragingParameters (const base::DPInfo &info)
 
void show (std::ostream &) const override
 Show the step parameters. More...
 
float TotalAveragingFactor () const
 
void updateInfo (const base::DPInfo &) override
 
- Public Member Functions inherited from dp3::steps::Step
 Step ()
 
virtual ~Step ()
 
const base::DPInfogetInfoIn () const
 Get access to the info of the input. More...
 
const base::DPInfogetInfoOut () const
 Get access to the info of the output. More...
 
const Step::ShPtrgetNextStep () const
 Get the next step. More...
 
StepgetPrevStep () const
 Get the previous step. More...
 
virtual bool process (std::unique_ptr< base::BdaBuffer >)
 
void setInfo (const base::DPInfo &)
 
virtual void setNextStep (Step::ShPtr nextStep)
 Set the next step. More...
 
void setPrevStep (Step *prevStep)
 Set the previous step. More...
 
virtual void showCounts (std::ostream &) const
 
virtual void showTimings (std::ostream &, double duration) const
 

Additional Inherited Members

- Public Types inherited from dp3::steps::Step
enum class  MsType { kRegular , kBda }
 To check compatibility between steps before running. More...
 
typedef std::shared_ptr< StepShPtr
 
- Static Public Member Functions inherited from dp3::steps::Step
static void SetThreadingIsInitialized ()
 
- Static Public Attributes inherited from dp3::steps::Step
static constexpr dp3::common::Fields kDataField
 
static constexpr dp3::common::Fields kFlagsField
 
static constexpr dp3::common::Fields kUvwField
 
static constexpr dp3::common::Fields kWeightsField
 
- Protected Member Functions inherited from dp3::steps::Step
virtual void addToMS (const std::string &msName)
 
base::DPInfoGetWritableInfoOut ()
 

Constructor & Destructor Documentation

◆ BdaAverager()

dp3::steps::BdaAverager::BdaAverager ( const common::ParameterSet parset,
const std::string &  prefix,
const bool  use_weights_and_flags = true 
)

Constructor, which uses a parset for configuring the step.

Parameters
parsetA ParameterSet that contains the configuration.
prefixParameterSet Prefix for obtaining the configuration.
use_weights_and_flagsA flag (true by default) which allows the BdaAverager to ignore the weights and flags. When false, it assumes unflagged data and a weight of 1.0 for all input data.

◆ ~BdaAverager()

dp3::steps::BdaAverager::~BdaAverager ( )
override

Member Function Documentation

◆ accepts()

bool dp3::steps::BdaAverager::accepts ( MsType  dt) const
inlineoverridevirtual

Boolean if this step can process this type of data.

Reimplemented from dp3::steps::Step.

◆ finish()

void dp3::steps::BdaAverager::finish ( )
overridevirtual

Finish the processing of this step and subsequent steps.

Implements dp3::steps::Step.

◆ getProvidedFields()

common::Fields dp3::steps::BdaAverager::getProvidedFields ( ) const
inlineoverridevirtual

Get the fields provided (modified and/or created) by the current step. The returned fields thus should not include (required) fields that are forwarded without modifications.

Implements dp3::steps::Step.

◆ getRequiredFields()

common::Fields dp3::steps::BdaAverager::getRequiredFields ( ) const
inlineoverridevirtual

Get the fields required by the current step.

Implements dp3::steps::Step.

◆ outputs()

MsType dp3::steps::BdaAverager::outputs ( ) const
inlineoverridevirtual

Return which datatype this step outputs.

Reimplemented from dp3::steps::Step.

◆ process()

bool dp3::steps::BdaAverager::process ( std::unique_ptr< base::DPBuffer buffer)
overridevirtual

Process the data. When processed, the step should invoke the process function of the next step with the same buffer as argument.

Returns
False at the end of the input. True if there is more input.

Reimplemented from dp3::steps::Step.

◆ PushBufferSizeRequest()

void dp3::steps::BdaAverager::PushBufferSizeRequest ( size_t  buffersize)

Pushes a request for an output size (number of elements). The sizes are used one by one until the request buffer is empty. When it is empty, a default size is used. This can be used to make output buffers of the same shape and ordering as another averaging step.

◆ SetAveragingParameters()

void dp3::steps::BdaAverager::SetAveragingParameters ( const base::DPInfo info)

Set the averaging scheme for the BdaAverager. Using this function, a step can internally expand BDA data, process that data using a regular step, and apply the BdaAverager again. SetAveragingParameters can then restore the original averaging scheme so the resulting data is compatible with the original BDA data. Notes:

  • This function must be called before calling updateInfo().
  • BdaAverager only supports averaging schemes it would create normally, without using SetAveragingParameters. Using an incompatible scheme will make updateInfo() throw an exception.
    Parameters
    infoA DPInfo object which contains an existing averaging scheme.

◆ show()

void dp3::steps::BdaAverager::show ( std::ostream &  ) const
overridevirtual

Show the step parameters.

Implements dp3::steps::Step.

◆ TotalAveragingFactor()

float dp3::steps::BdaAverager::TotalAveragingFactor ( ) const

Computes the total averaging factor (defined as the ratio between non-averaged and averaged visibility counts) for all baselines. Only works after setting the info using updateInfo().

Returns
The averaging factor. A value of 4.2 means 4.2 megabytes of input visibilities get averaged into 1 megabyte of output visibilities.

◆ updateInfo()

void dp3::steps::BdaAverager::updateInfo ( const base::DPInfo )
overridevirtual

Update the general info (called by setInfo). The default implementation copies the info.

Reimplemented from dp3::steps::Step.


The documentation for this class was generated from the following file: