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

Step for reading BDA data from an MS. More...

#include <MSBDAReader.h>

Inheritance diagram for dp3::steps::MSBDAReader:
dp3::steps::InputStep dp3::steps::Step

Public Member Functions

 MSBDAReader (const casacore::MeasurementSet &ms, const common::ParameterSet &, const std::string &prefix)
 
 ~MSBDAReader () override
 
void finish () override
 Finish the processing of this step and subsequent steps. More...
 
std::string msName () const override
 Get the name of the MS. More...
 
MsType outputs () const override
 Return which datatype this step outputs. More...
 
bool process (std::unique_ptr< base::BdaBuffer > buffer) override
 
bool process (std::unique_ptr< base::DPBuffer > buffer) override
 
void show (std::ostream &) const override
 Show the step parameters. More...
 
void showTimings (std::ostream &, double duration) const override
 Show the timings. More...
 
const casacore::Table & table () const override
 Get the main MS table. More...
 
void updateInfo (const base::DPInfo &) override
 
- Public Member Functions inherited from dp3::steps::InputStep
 ~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 void setFieldsToRead (const dp3::common::Fields &fields)
 Set which fields must be read. 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...
 
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...
 
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
 

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

Step for reading BDA data from an MS.

This class is a InputStep step reading the data from a MeasurementSet. At the beginning it finds out the shape of the data; i.e., the number of correlations, channels, baselines, and time slots. It requires the data to be regularly shaped.

The object is constructed from the 'msin' keywords in the parset file. Currently the following can be given:

The data columns are handled in the following way:

TIME The time slot center of the current data (in MJD seconds). It is assumed that all data have the same interval, which is used to find missing time slots.
DATA The visibility data as [ncorr,nchan,nbaseline]. Only the part given by startchan and nchan is read. If a time slot is inserted, all its data are zero.
FLAG The data flags as [ncorr,nchan,nbaseline] (True is bad). They are read from the FLAG column. If a FLAG_ROW is set, all flags for that baseline will be set. Also the flag of data containing NaN or infinite numbers will be set. All flags of an inserted time slot are set.
WEIGHT The data weights as [ncorr,nchan,nbaseline]. Column WEIGHT_SPECTRUM is used if present and containing valid data, otherwise column WEIGHT is used. The weights of an inserted time slot are set to 0. If autoweight is on, the autocorrelations are used to calculate proper weights.
UVW The UVW coordinates in meters as [3,nbaseline]. They are calculated for a missing time slot.
FULLRESFLAG NOT YET IMPLEMENTED FOR BDA BUFFERS For each baseline the LOFAR_FULL_RES_FLAG column is stored as a uChar array with shape [orignchan/8, ntimeavg]. The bits represent the flags. They are converted to a Bool array with shape [orignchan, ntimeavg, nbaseline]. If column LOFAR_FULL_RES_FLAG is not present, the flags are used and it is assumed that no averaging was done yet (thus ntimeavg=1 and orignchan=nchan).

Constructor & Destructor Documentation

◆ MSBDAReader()

dp3::steps::MSBDAReader::MSBDAReader ( const casacore::MeasurementSet &  ms,
const common::ParameterSet ,
const std::string &  prefix 
)

Construct the object for the given MS. Parameters are obtained from the parset using the given prefix.

◆ ~MSBDAReader()

dp3::steps::MSBDAReader::~MSBDAReader ( )
override

Member Function Documentation

◆ finish()

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

Finish the processing of this step and subsequent steps.

Implements dp3::steps::Step.

◆ msName()

std::string dp3::steps::MSBDAReader::msName ( ) const
overridevirtual

Get the name of the MS.

Reimplemented from dp3::steps::InputStep.

◆ outputs()

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

Return which datatype this step outputs.

Reimplemented from dp3::steps::Step.

◆ process() [1/2]

bool dp3::steps::MSBDAReader::process ( std::unique_ptr< base::BdaBuffer buffer)
overridevirtual

Reads a BDA buffer from the input and passes it to its next step.

Parameters
bufferDummy input buffer, which is ignored.

Reimplemented from dp3::steps::Step.

◆ process() [2/2]

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

Reads a BDA buffer from the input and passes it to its next step.

Parameters
bufferDummy input buffer, which is ignored.

Reimplemented from dp3::steps::Step.

◆ show()

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

Show the step parameters.

Implements dp3::steps::Step.

◆ showTimings()

void dp3::steps::MSBDAReader::showTimings ( std::ostream &  ,
double  duration 
) const
overridevirtual

Show the timings.

Reimplemented from dp3::steps::Step.

◆ table()

const casacore::Table& dp3::steps::MSBDAReader::table ( ) const
inlineoverridevirtual

Get the main MS table.

Reimplemented from dp3::steps::InputStep.

◆ updateInfo()

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

Reads the BDA subtables from an MS and stores the required values in the getInfoOut() object.

Reimplemented from dp3::steps::Step.


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