9 #ifndef DP3_STEPS_UVWFLAGGER_H_
10 #define DP3_STEPS_UVWFLAGGER_H_
55 if (itsCenter.empty()) fields |=
kUvwField;
66 bool process(std::unique_ptr<base::DPBuffer>)
override;
68 bool process(std::unique_ptr<base::BdaBuffer>)
override;
78 void show(std::ostream&)
const override;
84 void showTimings(std::ostream&,
double duration)
const override;
94 bool testUVWm(
double uvw,
const std::vector<double>& ranges);
97 void testUVWl(
double uvw,
const std::vector<double>& ranges,
bool* flagPtr,
98 unsigned int nrcorr,
unsigned int baseline_id);
101 void doFlag(
const std::array<double, 3>& uvw,
bool* flagPtr,
102 unsigned int n_correlations,
unsigned int n_channels,
103 unsigned int baseline_id = 0);
112 const std::string& prefix,
113 const std::string& name,
bool square);
119 const MsType itsInputType;
121 unsigned int itsNTimes;
127 std::vector<std::vector<double>> itsRecWavel;
128 const std::vector<double> itsRangeUVm;
129 const std::vector<double> itsRangeUm;
130 const std::vector<double> itsRangeVm;
131 const std::vector<double> itsRangeWm;
132 const std::vector<double>
134 const std::vector<double> itsRangeUl;
135 const std::vector<double> itsRangeVl;
136 const std::vector<double> itsRangeWl;
139 const bool itsIsDegenerate;
141 std::unique_ptr<base::UVWCalculator> itsUVWCalc;
142 const std::vector<std::string> itsCenter;
Buffer holding baseline-dependently averaged (BDA) data.
Buffer holding the data of a timeslot/band.
Class to calculate UVW coordinates Note: this code is used by LOFAR and APERTIF software.
General info about DP3 data processing attributes like averaging.
Definition: DPInfo.h:35
Class to keep counts of nr of flagged points.
Definition: FlagCounter.h:35
Implements a map of Key-Value pairs.
Definition: ParameterSet.h:31
Abstract base class for a DP3 step.
Definition: Step.h:52
static constexpr dp3::common::Fields kUvwField
Definition: Step.h:66
MsType
To check compatibility between steps before running.
Definition: Step.h:57
static constexpr dp3::common::Fields kFlagsField
Definition: Step.h:62
DP3 step class to flag data on UVW coordinates.
Definition: UVWFlagger.h:38
common::Fields getProvidedFields() const override
Definition: UVWFlagger.h:60
void showTimings(std::ostream &, double duration) const override
Show the timings.
bool process(std::unique_ptr< base::BdaBuffer >) override
UVWFlagger(const common::ParameterSet &, const std::string &prefix, MsType inputType)
void showCounts(std::ostream &) const override
Show the flag counts.
MsType outputs() const override
Return which datatype this step outputs.
Definition: UVWFlagger.h:88
void finish() override
Finish the processing of this step and subsequent steps.
bool process(std::unique_ptr< base::DPBuffer >) override
void updateInfo(const base::DPInfo &) override
common::Fields getRequiredFields() const override
Get the fields required by the current step.
Definition: UVWFlagger.h:50
void show(std::ostream &) const override
Show the step parameters.
bool accepts(MsType dt) const override
Boolean if this step can process this type of data.
Definition: UVWFlagger.h:86
bool isDegenerate() const
Definition: UVWFlagger.h:90
This file has generic helper routines for testing steps.
Definition: AntennaConfig.h:53