Class MEAL::SingleAxis

class SingleAxis : public MEAL::ProductRule<MEAL::Complex2>

Instrumental gain, differential gain, and differential phase.

The SingleAxis class may be used to represent three commonly encountered instrumental transformations: absolute gain, differential gain, and differential phase. Differential gain and phase transformations are respectively hyperbolic and trigonometric rotations about a single axis defined by the polarization of the instrument. With circular-polarized receptors, the single axis is the Stokes V axis; with linear-polarized receptors, it is normally the Stokes Q axis.

Free parameters

These parameters may be varied during least-squares minimization

Estimate<double> get_gain() const

Get the instrumental gain, \( G \), in calibrator flux units.

Estimate<double> get_diff_gain() const

Get the differential gain, \( \gamma \), in hyperbolic radians.

Estimate<double> get_diff_phase() const

Get the differential phase, \( \phi \), in radians.

void set_gain(const Estimate<double> &gain)

Set the instrumental gain, \( G \), in calibrator flux units.

void set_diff_gain(const Estimate<double> &gamma)

Set the differential gain, \( \gamma \), in hyperbolic radians.

void set_diff_phase(const Estimate<double> &phi)

Set the differential phase, \( \phi \), in radians.

void set_axis(const Vector<3, double> &axis)

Set the axis along which the boost and rotation occur.

Vector<3, double> get_axis() const

Get the unit-vector along which the boost and rotation occur.

void solve(const std::vector<Estimate<double>> &output)

Solve for gain, boost, and rotation given output cal state.

void invert()

Invert the transformation represented by this instance.

const SingleAxis &operator*=(const SingleAxis &other)

Combine the transformation from other into this instance.

virtual std::string get_name() const

Return the name of the class.

MEAL::Gain<Complex2> *get_gain_transformation()

Get the gain transformation.

MEAL::Boost1 *get_boost_transformation()

Get the boost transformation.

MEAL::Rotation1 *get_rotation_transformation()

Get the rotation transformation.

Public Functions

SingleAxis()

Default Constructor.

SingleAxis(const SingleAxis &s)

Copy Constructor.

const SingleAxis &operator=(const SingleAxis &s)

Assignement Operator.

~SingleAxis()

Destructor.

virtual SingleAxis *clone() const override

Clone operator.

void set_cyclic(bool flag = true)

Set cyclical bounds on the differential phase.