DP3
FullJonesSolver.h
Go to the documentation of this file.
1 // Copyright (C) 2021 ASTRON (Netherlands Institute for Radio Astronomy)
2 // SPDX-License-Identifier: GPL-3.0-or-later
3 
4 #ifndef DDECAL_FULL_JONES_SOLVER_H
5 #define DDECAL_FULL_JONES_SOLVER_H
6 
7 #include "SolverBase.h"
8 #include "SolveData.h"
9 
10 namespace dp3 {
11 namespace ddecal {
12 
13 class FullJonesSolver final : public SolverBase {
14  public:
16  std::vector<std::vector<DComplex>>& solutions,
17  double time) override;
18 
19  size_t NSolutionPolarizations() const override { return 4; }
20 
21  private:
22  void PerformIteration(size_t ch_block,
23  const FullSolveData::ChannelBlockData& cb_data,
24  std::vector<Matrix>& g_times_cs,
25  std::vector<Matrix>& vs,
26  const std::vector<DComplex>& solutions,
27  SolutionTensor& next_solutions);
28 
35  void InitializeModelMatrix(
36  const FullSolveData::ChannelBlockData& channel_block_data,
37  std::vector<Matrix>& g_times_cs, std::vector<Matrix>& vs) const;
38 };
39 
40 } // namespace ddecal
41 } // namespace dp3
42 
43 #endif // DDECAL_BDA_FULL_JONES_SOLVER_H
Definition: FullJonesSolver.h:13
size_t NSolutionPolarizations() const override
Definition: FullJonesSolver.h:19
SolveResult Solve(const FullSolveData &data, std::vector< std::vector< DComplex >> &solutions, double time) override
Definition: SolveData.h:29
Definition: SolverBase.h:24
xt::xtensor< std::complex< double >, 4 > SolutionTensor
Definition: Solutions.h:19
This file has generic helper routines for testing steps.
Definition: AntennaConfig.h:53
Definition: SolverBase.h:61