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

This class defines step in the DP3 pipeline that keeps the result to make it possible to get the result of another step. It keeps the result and calls process of the next step. Buffers are accumulated until cleared. More...

#include <MultiResultStep.h>

Inheritance diagram for dp3::steps::MultiResultStep:
dp3::steps::Step

Public Member Functions

 MultiResultStep (unsigned int size)
 
 ~MultiResultStep () override
 
void clear ()
 Clear the buffers. More...
 
void finish () override
 Finish does not do anything. More...
 
std::vector< std::unique_ptr< base::DPBuffer > > & get ()
 
const std::vector< std::unique_ptr< base::DPBuffer > > & get () const
 Get the result. More...
 
common::Fields getProvidedFields () const override
 
common::Fields getRequiredFields () const override
 Get the fields required by the current step. More...
 
bool process (std::unique_ptr< base::DPBuffer > buffer) override
 Add the buffer to the vector of kept buffers. More...
 
void show (std::ostream &) const override
 
size_t size () const
 Get the size of the result. 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...
 
virtual MsType outputs () const
 Return which datatype this step outputs. 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
 
virtual void updateInfo (const base::DPInfo &)
 

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

Detailed Description

This class defines step in the DP3 pipeline that keeps the result to make it possible to get the result of another step. It keeps the result and calls process of the next step. Buffers are accumulated until cleared.

Constructor & Destructor Documentation

◆ MultiResultStep()

dp3::steps::MultiResultStep::MultiResultStep ( unsigned int  size)
explicit

Creates a MultiResultStep and sets a NullStep as its next step.

Parameters
sizeThe number of buffers the MultiResultStep should store.

◆ ~MultiResultStep()

dp3::steps::MultiResultStep::~MultiResultStep ( )
inlineoverride

Member Function Documentation

◆ clear()

void dp3::steps::MultiResultStep::clear ( )
inline

Clear the buffers.

◆ finish()

void dp3::steps::MultiResultStep::finish ( )
inlineoverridevirtual

Finish does not do anything.

Implements dp3::steps::Step.

◆ get() [1/2]

std::vector<std::unique_ptr<base::DPBuffer> >& dp3::steps::MultiResultStep::get ( )
inline

◆ get() [2/2]

const std::vector<std::unique_ptr<base::DPBuffer> >& dp3::steps::MultiResultStep::get ( ) const
inline

Get the result.

◆ getProvidedFields()

common::Fields dp3::steps::MultiResultStep::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::MultiResultStep::getRequiredFields ( ) const
inlineoverridevirtual

Get the fields required by the current step.

Implements dp3::steps::Step.

◆ process()

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

Add the buffer to the vector of kept buffers.

Reimplemented from dp3::steps::Step.

◆ show()

void dp3::steps::MultiResultStep::show ( std::ostream &  ) const
inlineoverridevirtual

Show the step parameters. It does nothing.

Implements dp3::steps::Step.

◆ size()

size_t dp3::steps::MultiResultStep::size ( ) const
inline

Get the size of the result.


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