Class MEAL::Polar

class Polar : public MEAL::ProductRule<Complex2>

Represents the polar decomposition of a transformation.

The transformation is parameterized by the gain, G, the boost vector, \({\bf b}=\sinh\beta\hat{m}\), and the rotation vector, \({\bf r}=\phi_i\hat{n}\).

Public Functions

Polar()

Default Constructor.

Polar(const Polar &s)

Copy Constructor.

const Polar &operator=(const Polar &s)

Assignment Operator.

~Polar()

Destructor.

virtual Polar *clone() const override

Clone operator.

Estimate<double> get_gain() const

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

Estimate<double> get_boost(unsigned i) const

Get the specified component of the boost vector.

Estimate<double> get_rotation(unsigned i) const

Get the specified component of the rotation vector.

void set_gain(const Estimate<double> &gain)

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

void set_boost(unsigned i, const Estimate<double> &b_i)

Set the specified component of the boost vector.

void set_rotation(unsigned i, const Estimate<double> &phi_i)

Set the specified component of the rotation vector.

void solve(Jones<Estimate<double>> &jones)

Polar decompose the Jones matrix.

virtual std::string get_name() const

Return the name of the class.

const Gain<Complex2> *get_gain_transformation() const

Provide access to the gain transformation.

const Boost *get_boost_transformation() const

Provide access to the boost transformation.

const Rotation *get_rotation_transformation() const

Provide access to the rotation transformation.