Class MEAL::CoherencyMeasurement

class CoherencyMeasurement

A coherency matrix measurement and its estimated error.

Public Functions

CoherencyMeasurement(unsigned input_index = 0)

Default constructor.

void set_input_index(unsigned index)

Set the index of the input to which the measurement corresponds.

unsigned get_input_index() const

Set the index of the input to which the measurement corresponds.

void set_stokes(const Stokes<Estimate<double>> &stokes)

Set the measured Stokes parameters.

void set_stokes(const Stokes<std::complex<double>> &stokes, const Stokes<double> &variance)

Set the measured complex Stokes parameters.

void set_stokes(const Stokes<std::complex<double>> &stokes, Uncertainty*)

Set the measured complex Stokes parameters and the variance function.

unsigned get_nconstraint() const

Get the number of constraints provided by this measurement.

Jones<double> get_coherency() const

Get the measured coherency matrix.

Stokes<Estimate<double>> get_stokes() const

Get the measured Stokes parameters.

Stokes<std::complex<Estimate<double>>> get_complex_stokes() const

Get the measured Stokes parameters.

double get_weighted_norm(const Jones<double> &matrix) const

Given a coherency matrix, return the weighted norm.

Jones<double> get_weighted_conjugate(const Jones<double> &matrix) const

Given a coherency matrix, return the weighted conjugate matrix.

inline const Uncertainty *get_uncertainty() const

The uncertainty of the measurement.

void add_coordinate(MEAL::Argument::Value *abscissa)

Add an independent variable.

void set_coordinates() const

Apply the independent variables.

void scale(double)

Multiply the coherency matrix measurement by a scalar.

The variance is scaled by the square of the scalar.

class Uncertainty : public Reference::Able

Estimates the uncertainty of a CoherencyMeasurement.

Subclassed by MEAL::ObservationUncertainty

Public Functions

virtual Uncertainty *clone() const = 0

Return a copy constructed clone of self.

virtual void add(const Uncertainty*) = 0

Add the uncertainty of another instance.

virtual double get_weighted_norm(const Jones<double>&) const = 0

Given a coherency matrix, return the weighted norm.

virtual Jones<double> get_weighted_conjugate(const Jones<double>&) const = 0

Given a coherency matrix, return the weighted conjugate matrix.

virtual Stokes<std::complex<double>> get_variance() const = 0

Return the variance of each Stokes parameter.

virtual void scale(double) = 0

Scale the uncertainty by the square of a scalar.