7 #ifndef DP3_STEPS_SVPINPUT_H_
8 #define DP3_STEPS_SVPINPUT_H_
15 #include <casacore/measures/Measures.h>
16 #include <casacore/measures/Measures/MEpoch.h>
17 #include <casacore/measures/Measures/MCEpoch.h>
31 enum Telescope { kLOFAR, kALMA, kAARTFAAC };
34 int nr_polarizations_;
39 double integration_time_;
42 std::vector<casacore::MPosition> antenna_positions_;
43 std::array<double, 9> axes_;
44 std::vector<std::string> antenna_names_;
45 std::vector<double> antenna_diameters_;
46 double scale_factor_{1.0};
49 std::string source_name_;
50 std::string frame_name_;
51 std::string telescope_name_;
54 std::vector<double> chan_freqs_;
55 std::vector<double> chan_widths_;
64 bool process(std::unique_ptr<dp3::base::DPBuffer> buffer)
override;
67 void show(std::ostream&)
const override;
73 std::string temp_out_ms_;
74 std::string receiver_socket_;
75 const std::string kSocketName{
"/tmp/svpsock0"};
77 const std::string kDataColumnName{
"DATA"};
78 const std::string kWeightColumnName{
"WEIGHT"};
79 const std::string kFlagColumnName{
"FLAG"};
81 casacore::MDirection phase_direction_;
82 std::unique_ptr<base::UVWCalculator> uvw_calculator_;
85 size_t process_counter_{0};
86 void InitializeInfo();
87 void CreateInitialSubtables();
88 void CreateAntennaTable(
double time, base::SubtableWriter& writer);
90 void CreateSpectralWindowTable(
int nchannels,
91 std::vector<double>
const& chan_freqs,
92 std::vector<double>
const& chan_widths,
93 base::SubtableWriter& writer);
95 void CreateSourceTable(std::string& name,
double start_time,
double end_time,
96 base::SubtableWriter& writer);
98 void CreateFieldTable(std::string& name,
double time,
99 base::SubtableWriter& writer);
101 void CreateObservationTable(
double start_time,
double end_time,
102 base::SubtableWriter& writer);
104 void CreatePolarizationTable(base::SubtableWriter& writer,
105 const int nr_polarizations);
108 void ConnectServer(
const char* path);
109 void DisconnectServer() {
110 if (sock_fd_ != -1) {
115 template <
typename T>
116 int ReceiveItem(T& message);
117 int ReceiveBytes(
char* message,
const int message_size);
Buffer holding the data of a timeslot/band.
Class to hold code for virtual base class for Flaggers in DP3.
General info about DP3 data processing attributes like averaging.
Definition: DPInfo.h:35
Implements a map of Key-Value pairs.
Definition: ParameterSet.h:31
This file has generic helper routines for testing steps.
Definition: AntennaConfig.h:53