1 #ifndef DP3_FARADAY_ROTATION_CONSTRAINT_H_
2 #define DP3_FARADAY_ROTATION_CONSTRAINT_H_
23 std::optional<double> max_rotation_value)
24 : diagonal_solution_type_(diagonal_solution_type),
25 max_rotation_value_(max_rotation_value) {}
30 const std::vector<uint32_t>& solutions_per_direction,
31 const std::vector<double>& frequencies)
override;
33 void SetWeights(
const std::vector<double>& weights)
override;
36 const std::vector<std::vector<double>>& sub_solution_weights)
override;
38 std::vector<ConstraintResult>
GetResult()
const override {
return results_; }
41 void PerformFit(
SolutionSpan& solutions,
size_t sub_solution,
size_t antenna,
42 std::vector<common::phase_fitting::FitSample>& scratch_space);
44 std::vector<ConstraintResult> results_;
45 std::vector<std::vector<double>> sub_solution_weights_;
46 std::vector<double> frequencies_;
49 std::optional<double> max_rotation_value_;
This class is the base class for classes that implement a constraint on calibration solutions....
Definition: Constraint.h:27
Definition: FaradayConstraint.h:14
void Apply(SolutionSpan &solutions, double time) override
void SetSubSolutionWeights(const std::vector< std::vector< double >> &sub_solution_weights) override
void Initialize(size_t n_antennas, const std::vector< uint32_t > &solutions_per_direction, const std::vector< double > &frequencies) override
void SetWeights(const std::vector< double > &weights) override
std::vector< ConstraintResult > GetResult() const override
Definition: FaradayConstraint.h:38
FaradayConstraint(base::CalType diagonal_solution_type, std::optional< double > max_rotation_value)
Definition: FaradayConstraint.h:22
CalType
Definition: CalType.h:11
Definition: AmplitudeOnlyConstraint.h:12
aocommon::xt::Span< std::complex< double >, 4 > SolutionSpan
Definition: Solutions.h:20
Definition: PhaseLineFitter.h:28