#include <FaradayConstraint.h>
◆ FaradayConstraint()
| dp3::ddecal::FaradayConstraint::FaradayConstraint |
( |
base::CalType |
diagonal_solution_type, |
|
|
std::optional< double > |
max_rotation_value |
|
) |
| |
|
inline |
The diagonal solution type may be set to kRotational to fit differential Faraday rotation without a diagonal. @oaram max_rotation_value limits the search from -max_rotation_value to max_rotation_value. It is given in units of radians per meter.
◆ Apply()
| void dp3::ddecal::FaradayConstraint::Apply |
( |
SolutionSpan & |
solutions, |
|
|
double |
time |
|
) |
| |
|
overridevirtual |
This method applies the constraints to the solutions.
- Parameters
-
| 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.
◆ GetResult()
| std::vector<ConstraintResult> dp3::ddecal::FaradayConstraint::GetResult |
( |
| ) |
const |
|
inlineoverridevirtual |
Obtain results that are to be written to the solution file, instead of the actual solutions. Not all constraints use these; some constraints modify the solutions and the solutions are the result. Example of constraint the do produce results are the Faraday and TEC constraints.
- Returns
- Optionally, a vector with the last results. The vector is index by value type (e.g. Faraday rotation and scalar).
Reimplemented from dp3::ddecal::Constraint.
◆ Initialize()
| void dp3::ddecal::FaradayConstraint::Initialize |
( |
size_t |
n_antennas, |
|
|
const std::vector< uint32_t > & |
solutions_per_direction, |
|
|
const std::vector< double > & |
frequencies |
|
) |
| |
|
overridevirtual |
Perform common constraint initialization. Should be overridden when something more than assigning dimensions is needed (e.g. resizing vectors).
- Parameters
-
| frequencies | For each channel block, the mean frequency. |
Reimplemented from dp3::ddecal::Constraint.
◆ SetSubSolutionWeights()
| void dp3::ddecal::FaradayConstraint::SetSubSolutionWeights |
( |
const std::vector< std::vector< double >> & |
solution_weights | ) |
|
|
overridevirtual |
Set direction dependent weights. It consists of n_sub_solutions vectors, each of which is an n_antennas * n_channel_blocks vector, where the channel index varies fastest.
If set, the normal weights are not used.
Reimplemented from dp3::ddecal::Constraint.
◆ SetWeights()
| void dp3::ddecal::FaradayConstraint::SetWeights |
( |
const std::vector< double > & |
weights | ) |
|
|
override |
The documentation for this class was generated from the following file: