DP3
Split.h
Go to the documentation of this file.
1 // Split.h: DP3 step class to Split visibilities from a source model
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_SPLIT_H_
10 #define DP3_STEPS_SPLIT_H_
11 
12 #include <utility>
13 
14 #include "base/DPBuffer.h"
15 
16 #include "common/ParameterSet.h"
17 
18 #include "InputStep.h"
19 #include "OutputStep.h"
20 
21 namespace dp3 {
22 namespace steps {
23 
25 class Split : public OutputStep {
26  public:
29  Split(const common::ParameterSet&, const std::string& prefix);
30 
32 
33  void SetFieldsToWrite(const common::Fields& fields) override;
34 
38  bool process(std::unique_ptr<base::DPBuffer> buffer) override;
39 
41  void finish() override;
42 
44  void updateInfo(const base::DPInfo&) override;
45 
47  void show(std::ostream&) const override;
48 
50  void showTimings(std::ostream&, double duration) const override;
51 
53  void setNextStep(std::shared_ptr<Step> step) override;
54 
55  private:
56  std::string name_;
57 
59  std::vector<std::string> replace_parameters_;
60 
62  std::vector<std::shared_ptr<Step>> sub_steps_;
63 };
64 
65 } // namespace steps
66 } // namespace dp3
67 
68 #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
Base class for output steps.
Definition: OutputStep.h:15
DP3 step class to Split visibilities from a source model.
Definition: Split.h:25
void setNextStep(std::shared_ptr< Step > step) override
Override setNextStep, since Split should be the last step.
void showTimings(std::ostream &, double duration) const override
Show the timings.
void finish() override
Finish the processing of this step and subsequent steps.
Split(const common::ParameterSet &, const std::string &prefix)
void show(std::ostream &) const override
Show the step parameters.
void SetFieldsToWrite(const common::Fields &fields) override
common::Fields getRequiredFields() const override
Get the fields required by the current step.
void updateInfo(const base::DPInfo &) override
Update the general info.
bool process(std::unique_ptr< base::DPBuffer > buffer) override
This file has generic helper routines for testing steps.
Definition: AntennaConfig.h:53