Calibration::SingleAxis Class Reference

Instrumental gain, differential gain, and differential phase. More...

#include <SingleAxis.h>

Inheritance diagram for Calibration::SingleAxis:
MEAL::ProductRule< MEAL::Complex2 > MEAL::GroupRule< class >

Public Member Functions

 SingleAxis ()
 Default Constructor.
 
 SingleAxis (const SingleAxis &s)
 Copy Constructor.
 
const SingleAxisoperator= (const SingleAxis &s)
 Assignement Operator. More...
 
 ~SingleAxis ()
 Destructor.
 
SingleAxisclone () const
 Clone operator.
 
void set_cyclic (bool flag=true)
 Set cyclical bounds on the differential phase.
 
- Public Member Functions inherited from MEAL::ProductRule< MEAL::Complex2 >
void operator*= (T *model)
 
std::string get_name () const
 
- Public Member Functions inherited from MEAL::GroupRule< class >
 GroupRule (const GroupRule &meta)
 
GroupRuleoperator= (const GroupRule &meta)
 
void add_model (T *model)
 
void remove_model (T *model)
 
T * get_model (unsigned i)
 
unsigned get_nmodel () const
 
void clear ()
 
void parse (const std::string &text)
 

Free parameters

These parameters may be varied during least-squares minimization

Reference::To< MEAL::Gain< Complex2 > > gain
 Gain Complex2.
 
Reference::To< MEAL::Boost1boost
 Boost Complex2.
 
Reference::To< MEAL::Rotation1rotation
 Rotation Complex2.
 
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. More...
 
void invert ()
 Invert the transformation represented by this instance.
 
const SingleAxisoperator*= (const SingleAxis &other)
 Combine the transformation from other into this instance.
 
std::string get_name () const
 Return the name of the class.
 
MEAL::Gain< Complex2 > * get_gain_transformation ()
 Get the gain transformation.
 
MEAL::Boost1get_boost_transformation ()
 Get the boost transformation.
 
MEAL::Rotation1get_rotation_transformation ()
 Get the rotation transformation.
 

Additional Inherited Members

- Protected Member Functions inherited from MEAL::ProductRule< MEAL::Complex2 >
const Result get_identity () const
 
void operate (Result &total, const Result &element)
 
const Result partial (const Result &element) const
 
- Protected Member Functions inherited from MEAL::GroupRule< class >
void print_parameters (std::string &text, const std::string &sep) const
 
void calculate (Result &result, std::vector< Result > *grad)
 
virtual const Result get_identity () const=0
 

Detailed Description

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.

Member Function Documentation

◆ operator=()

const Calibration::SingleAxis & Calibration::SingleAxis::operator= ( const SingleAxis s)

Assignement Operator.

Equality Operator.

References boost, gain, and rotation.

◆ solve()

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

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

Given the output coherency products (and cross products) of the input linear calibrator, S=[I=1,Q=0,U=1,V=0], this method solves for the instrumental gain, differential gain (and differential phase).

Referenced by Pulsar::HybridCalibrator::calculate_transformation().


The documentation for this class was generated from the following files:

Generated using doxygen 1.8.17