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

DP3 step class to average in time and/or freq. More...

#include <Averager.h>

Inheritance diagram for dp3::steps::Averager:
dp3::steps::Step

Public Member Functions

 Averager (const common::ParameterSet &, const std::string &prefix)
 
 Averager (const std::string &stepname, double freq_resolution, double time_resolution)
 
 Averager (const std::string &stepname, unsigned int nchanAvg, unsigned int ntimeAvg)
 Construct the object using the given parameters. More...
 
 ~Averager () override
 
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...
 
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...
 
void updateInfo (const base::DPInfo &) override
 Update the general info. 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
 

Static Public Member Functions

static double getFreqHz (const std::string &freqstr)
 
- Static Public Member Functions inherited from dp3::steps::Step
static void SetThreadingIsInitialized ()
 

Static Public Attributes

static const common::Fields kProvidedFields
 
static const common::Fields kRequiredFields
 
- 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
 

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
 
- Protected Member Functions inherited from dp3::steps::Step
virtual void addToMS (const std::string &msName)
 
base::DPInfoGetWritableInfoOut ()
 

Detailed Description

DP3 step class to average in time and/or freq.

This class is a Step class calculating the weighted average of data in time and/or frequency.
Only unflagged data points are used. The average is calculated as sum(data*weight) / sum(weight) and the sum of the weights is the weight of the new data point. If all data point to use are flagged, the resulting data point and weight are set to zero and flagged.

Constructor & Destructor Documentation

◆ Averager() [1/3]

dp3::steps::Averager::Averager ( const common::ParameterSet ,
const std::string &  prefix 
)

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

◆ Averager() [2/3]

dp3::steps::Averager::Averager ( const std::string &  stepname,
unsigned int  nchanAvg,
unsigned int  ntimeAvg 
)

Construct the object using the given parameters.

◆ Averager() [3/3]

dp3::steps::Averager::Averager ( const std::string &  stepname,
double  freq_resolution,
double  time_resolution 
)

◆ ~Averager()

dp3::steps::Averager::~Averager ( )
override

Member Function Documentation

◆ finish()

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

Finish the processing of this step and subsequent steps.

Implements dp3::steps::Step.

◆ getFreqHz()

static double dp3::steps::Averager::getFreqHz ( const std::string &  freqstr)
static

Get the value in Hertz of a string like "1000 MHz". If unit is omitted it defaults to Hertz

◆ getProvidedFields()

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

Get the fields required by the current step.

Implements dp3::steps::Step.

◆ process()

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

Process the data. It keeps the data. When processed, it invokes the process function of the next step.

Reimplemented from dp3::steps::Step.

◆ show()

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

Show the step parameters.

Implements dp3::steps::Step.

◆ showTimings()

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

Show the timings.

Reimplemented from dp3::steps::Step.

◆ updateInfo()

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

Update the general info.

Reimplemented from dp3::steps::Step.

Member Data Documentation

◆ kProvidedFields

const common::Fields dp3::steps::Averager::kProvidedFields
static

◆ kRequiredFields

const common::Fields dp3::steps::Averager::kRequiredFields
static

Required and provided fields are fixed. These constants simplify get*Fields implementations for steps that have Averagers as sub-step.


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