DP3
Public Member Functions | Static Public Member Functions | List of all members
dp3::steps::InputStep Class Reference

Abstract base class for a Step generating input. More...

#include <InputStep.h>

Inheritance diagram for dp3::steps::InputStep:
dp3::steps::Step dp3::steps::MSBDAReader dp3::steps::MockInput dp3::steps::MsReader dp3::steps::MultiMsReader dp3::steps::SVPInput

Public Member Functions

 ~InputStep () override
 
const dp3::common::FieldsgetFieldsToRead () const
 Get which fields must be read. More...
 
common::Fields getProvidedFields () const override
 
common::Fields getRequiredFields () const override
 Get the fields required by the current step. More...
 
virtual std::string msName () const
 
virtual void setFieldsToRead (const dp3::common::Fields &fields)
 Set which fields must be read. More...
 
virtual const casacore::Table & table () const
 Get the main MS table. More...
 
- Public Member Functions inherited from dp3::steps::Step
 Step ()
 
virtual ~Step ()
 
virtual bool accepts (MsType dt) const
 Boolean if this step can process this type of data. More...
 
virtual void finish ()=0
 Finish the processing of this step and subsequent steps. More...
 
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 MsType outputs () const
 Return which datatype this step outputs. More...
 
virtual bool process (std::unique_ptr< base::BdaBuffer >)
 
virtual bool process (std::unique_ptr< base::DPBuffer > buffer)
 
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 show (std::ostream &) const =0
 Show the step parameters. More...
 
virtual void showCounts (std::ostream &) const
 
virtual void showTimings (std::ostream &, double duration) const
 
virtual void updateInfo (const base::DPInfo &)
 

Static Public Member Functions

static std::unique_ptr< InputStepCreateReader (const common::ParameterSet &)
 
static bool HasBda (const casacore::MeasurementSet &ms)
 
- Static Public Member Functions inherited from dp3::steps::Step
static void SetThreadingIsInitialized ()
 

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 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 ()
 

Detailed Description

Abstract base class for a Step generating input.

This class is the abstract base class for a Step object that handles the input. A concrete example is MsReader that reads the data from a MeasurementSet. However, it is also possible to have input steps generating data on the fly as done in test programs like tAverager.cc.

Constructor & Destructor Documentation

◆ ~InputStep()

dp3::steps::InputStep::~InputStep ( )
override

Member Function Documentation

◆ CreateReader()

static std::unique_ptr<InputStep> dp3::steps::InputStep::CreateReader ( const common::ParameterSet )
static

Creates a (multi) MS reader. If it receives a single input MS name, it will create either a regular MsReader step or a MSBDAReader step depending on the contents of the MS. If it receives multiple input MS names, it will create a MultiMsReader step. In this case, BDA data is not supported (yet).

◆ getFieldsToRead()

const dp3::common::Fields& dp3::steps::InputStep::getFieldsToRead ( ) const
inline

Get which fields must be read.

◆ getProvidedFields()

common::Fields dp3::steps::InputStep::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.

Reimplemented in dp3::steps::MockInput.

◆ getRequiredFields()

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

Get the fields required by the current step.

Implements dp3::steps::Step.

Reimplemented in dp3::steps::MockInput.

◆ HasBda()

static bool dp3::steps::InputStep::HasBda ( const casacore::MeasurementSet &  ms)
static

Check if a measurement set contains Baseline Dependent Averaged data.

Parameters
msA casacore measurement set.
Returns
true if the measurement set has BDA data, false if it is regular.

◆ msName()

virtual std::string dp3::steps::InputStep::msName ( ) const
virtual

Get the MS name. The default implementation returns an empty string.

Reimplemented in dp3::steps::SVPInput, dp3::steps::MultiMsReader, dp3::steps::MsReader, and dp3::steps::MSBDAReader.

◆ setFieldsToRead()

virtual void dp3::steps::InputStep::setFieldsToRead ( const dp3::common::Fields fields)
inlinevirtual

Set which fields must be read.

Reimplemented in dp3::steps::MultiMsReader.

◆ table()

virtual const casacore::Table& dp3::steps::InputStep::table ( ) const
virtual

Get the main MS table.

Reimplemented in dp3::steps::MultiMsReader, dp3::steps::MsReader, and dp3::steps::MSBDAReader.


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