DP3
NullStokes.h
Go to the documentation of this file.
1 // NullStokes.h: DP3 step class for zeroing out Stokes parameters
2 // Copyright (C) 2022 ASTRON (Netherlands Institute for Radio Astronomy)
3 // SPDX-License-Identifier: GPL-3.0-or-later
4 
8 
9 #ifndef DP3_STEPS_NULL_STOKES_H
10 #define DP3_STEPS_NULL_STOKES_H
11 
12 #include "InputStep.h"
13 #include "common/ParameterSet.h"
14 
15 #include "base/DPBuffer.h"
16 
17 namespace dp3 {
18 
19 namespace steps {
20 
27 void MakeStokesIZero(std::complex<float>* visibilities);
28 void MakeStokesQZero(std::complex<float>* visibilities);
29 void MakeStokesUZero(std::complex<float>* visibilities);
30 void MakeStokesVZero(std::complex<float>* visibilities);
31 
33 
36 
37 class NullStokes : public Step {
38  public:
41  explicit NullStokes(const common::ParameterSet&, const std::string& prefix);
42 
43  common::Fields getRequiredFields() const override { return kDataField; }
44 
45  common::Fields getProvidedFields() const override { return kDataField; }
46 
50  bool process(std::unique_ptr<base::DPBuffer> buffer) override;
51 
53  void finish() override;
54 
56  void updateInfo(const base::DPInfo&) override;
57 
59  void show(std::ostream&) const override;
60 
62  void showTimings(std::ostream&, double duration) const override;
63 
64  private:
65  std::string name_;
66  common::NSTimer timer_;
67  bool modify_i_;
68  bool modify_q_;
69  bool modify_u_;
70  bool modify_v_;
71 };
72 
73 } // namespace steps
74 
75 } // namespace dp3
76 
77 #endif
Buffer holding the data of a timeslot/band.
Abstract base class for a Step generating input.
General info about DP3 data processing attributes like averaging.
Definition: DPInfo.h:35
Definition: Fields.h:16
Implements a map of Key-Value pairs.
Definition: ParameterSet.h:31
DP3 step for polarisation modification.
Definition: NullStokes.h:37
void showTimings(std::ostream &, double duration) const override
Show the timings.
NullStokes(const common::ParameterSet &, const std::string &prefix)
bool process(std::unique_ptr< base::DPBuffer > buffer) override
void show(std::ostream &) const override
Show the step parameters.
void finish() override
Finish the processing of this step and subsequent steps.
void updateInfo(const base::DPInfo &) override
Update the general info.
common::Fields getProvidedFields() const override
Definition: NullStokes.h:45
common::Fields getRequiredFields() const override
Get the fields required by the current step.
Definition: NullStokes.h:43
Abstract base class for a DP3 step.
Definition: Step.h:52
static constexpr dp3::common::Fields kDataField
Definition: Step.h:60
void MakeStokesVZero(std::complex< float > *visibilities)
void MakeStokesQZero(std::complex< float > *visibilities)
void MakeStokesIZero(std::complex< float > *visibilities)
void MakeStokesUZero(std::complex< float > *visibilities)
This file has generic helper routines for testing steps.
Definition: AntennaConfig.h:53