|
DP3
|
This constraint averages the solutions of several groups of antennas, so that antennas within the same group have equal solutions. More...
#include <AntennaConstraint.h>
Public Member Functions | |
| void | Apply (SolutionSpan &solutions, double time) override |
| const std::vector< std::set< size_t > > & | GetAntennaSets () const |
| void | SetAntennaSets (std::vector< std::set< size_t >> &&antenna_sets) |
Public Member Functions inherited from dp3::ddecal::Constraint | |
| virtual | ~Constraint ()=default |
| void | ApplyReferenceAntenna (SolutionSpan &solutions) |
| virtual std::vector< ConstraintResult > | GetResult () const |
| uint32_t | GetSubSolutions (size_t direction) const |
| virtual void | GetTimings ([[maybe_unused]] std::ostream &os, [[maybe_unused]] double duration) const |
| virtual void | Initialize (size_t n_antennas, const std::vector< uint32_t > &solutions_per_direction, const std::vector< double > &frequencies) |
| size_t | NAntennas () const |
| size_t | NChannelBlocks () const |
| size_t | NDirections () const |
| size_t | NSubSolutions () const |
| virtual void | PrepareIteration ([[maybe_unused]] bool hasReachedPrecision, [[maybe_unused]] size_t iteration, [[maybe_unused]] bool finalIter) |
| virtual bool | Satisfied () const |
| virtual void | SetSubSolutionWeights (const std::vector< std::vector< double >> &solution_weights) |
| virtual void | SetWeights ([[maybe_unused]] const std::vector< double > &weights) |
Additional Inherited Members | |
Public Types inherited from dp3::ddecal::Constraint | |
| typedef std::complex< double > | dcomplex |
Static Public Member Functions inherited from dp3::ddecal::Constraint | |
| static bool | isfinite (const dcomplex &value) |
This constraint averages the solutions of several groups of antennas, so that antennas within the same group have equal solutions.
The DDE solver can use this constraint e.g. to average the solutions of the core antennas. Core antennas are determined by a given maximum distance from a reference antenna. The reference antenna is by default the first antenna. This constraint is meant to force all core stations to have the same solution, thereby decreasing the noise in their solutions.
|
inlineoverridevirtual |
This method applies the constraints to the solutions.
| solutions | A 4D array with dimensions n_channel_blocks x n_antennas x n_sub_solutions x n_pol solutions. n_pol is the dimension with the fastest changing index. Using a span instead of a real tensor as argument type avoids the need for copying data in Python bindings. |
| time | Central time of interval. |
Implements dp3::ddecal::Constraint.
|
inline |
|
inline |