Supplements a SystemCalibrator with a SingleAxisCalibrator. More...

#include <HybridCalibrator.h>

Inheritance diagram for Pulsar::HybridCalibrator:
Pulsar::PolnCalibrator Pulsar::Calibrator Reference::Able Reference::HeapTracked

Public Member Functions

 HybridCalibrator (PolnCalibrator *precalibrator=0)
 Construct from another PolnCalibrator instance.
 
 HybridCalibrator (const Archive *data)
 Construct from a solution with both extensions.
 
 ~HybridCalibrator ()
 Destructor.
 
MJD get_epoch () const
 Return the reference epoch of the calibration experiment.
 
unsigned get_nchan () const
 Get the number of frequency channels in the calibrator.
 
void set_reference_input (const CalibratorStokes *reference, std::string filename="")
 Set the Stokes parameters of the reference signal.
 
void set_reference_observation (const ReferenceCalibrator *observation)
 Set the ReferenceCalibrator data from which to derive a SingleAxis. More...
 
const ReferenceCalibratorget_reference_observation ()
 
void set_precalibrator (PolnCalibrator *calibrator)
 Set the PolnCalibrator to be supplemented. More...
 
- Public Member Functions inherited from Pulsar::PolnCalibrator
 PolnCalibrator (const Archive *archive=0)
 Construct with optional processed calibrator Archive. More...
 
 PolnCalibrator (const PolnCalibrator &calibrator)
 Copy constructor.
 
virtual ~PolnCalibrator ()
 Destructor.
 
void set_calibrator (const Archive *archive)
 Set the calibrator archive used to define basic attributes.
 
void set_subint (const Index &isub)
 Set the sub-integration index.
 
virtual void set_response_nchan (unsigned nchan)
 Set the number of frequency channels in the response array.
 
virtual unsigned get_response_nchan () const
 Get the number of frequency channels in the response array.
 
virtual Jones< float > get_response (unsigned ichan) const
 Return the system response for the specified channel.
 
bool has_Receiver () const
 Return true if the Receiver is set.
 
const Receiverget_Receiver () const
 Return the Receiver.
 
void set_Receiver (const Archive *)
 Set the Receiver extension to that of the input Archive.
 
std::string get_receiver_basis_filename () const
 
void transformation_resize (unsigned nchan)
 
bool get_transformation_valid (unsigned ch) const
 Return true if the transformation for the specified channel is valid. More...
 
void set_transformation_invalid (unsigned ch, const std::string &reason)
 Set the transformation invalid flag for the specified channel. More...
 
const std::string & get_transformation_invalid_reason (unsigned ichan) const
 Get the reason that the transformation in the specified channel is invalid.
 
const MEAL::Complex2get_transformation (unsigned ichan) const
 Return the transformation for the specified channel. More...
 
MEAL::Complex2get_transformation (unsigned ichan)
 Return the transformation for the specified channel. More...
 
void set_transformation (unsigned ichan, MEAL::Complex2 *)
 Set the transformation for the secified channel.
 
bool has_covariance () const
 Return true if parameter covariances are stored.
 
void get_covariance (unsigned ichan, std::vector< double > &) const
 Return the covariance matrix vector for the specified channel.
 
virtual bool has_solver () const
 Return true if least squares minimization solvers are available.
 
virtual const MEAL::LeastSquaresget_solver (unsigned ichan) const
 Return the transformation for the specified channel.
 
MEAL::LeastSquaresget_solver (unsigned ichan)
 
void set_backend_correction (bool f)
 Perform backend corrections before inverting response.
 
virtual void calibrate (Archive *archive)
 Calibrate the polarization of the given archive. More...
 
virtual const Typeget_type () const
 Return the Calibrator::Type of derived class.
 
unsigned get_nchan (bool build_if_needed) const
 Get the number of frequency channels in the calibrator.
 
CalibratorExtensionnew_Extension () const
 Return a new PolnCalibratorExtension.
 
Calibrator::Infoget_Info () const
 Return plotting information.
 
void calibration_setup (const Archive *arch)
 Set up done before calibrating an archive.
 
- Public Member Functions inherited from Pulsar::Calibrator
 Calibrator ()
 Default constructor.
 
virtual ~Calibrator ()
 Destructor.
 
Archivenew_solution (const std::string &archive_class) const
 Return a new processed calibrator Archive with a CalibratorExtension.
 
virtual std::string get_filenames () const
 Return a string containing the file information.
 
const Archiveget_Archive () const
 Return a const reference to the calibrator archive.
 
template<class T >
bool is_a () const
 
- Public Member Functions inherited from Reference::Able
 Able (const Able &)
 
Ableoperator= (const Able &)
 
unsigned get_reference_count () const
 
- Public Member Functions inherited from Reference::HeapTracked
 HeapTracked (const HeapTracked &)
 
HeapTrackedoperator= (const HeapTracked &)
 
bool __is_on_heap () const
 

Protected Member Functions

void calculate_transformation ()
 Fill the transformation vector of the PolnCalibrator base class.
 
bool get_valid (unsigned ichan) const
 Return channel validity at the original resolution, if necessary. More...
 
unsigned get_maximum_nchan () const
 Return the number of channels in the PolnCalibrator.
 
- Protected Member Functions inherited from Pulsar::PolnCalibrator
void setup_transformation () const
 Set up to call calculate_transformation.
 
float get_weight (unsigned ichan) const
 Return the weight (0 or 1) of the specified channel.
 
- Protected Member Functions inherited from Pulsar::Calibrator
void copy_variation (Calibrator *)
 
void set_variation (Variation *var)
 
const Archiveget_calibrator () const
 Provide derived classes with access to the calibrator. More...
 
Archiveget_calibrator ()
 Provide derived classes with mutable access to the calibrator.
 
bool has_calibrator () const
 Return true if the calibrator attribute has been set. More...
 
- Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
 
void __dereference (bool auto_delete=true) const
 

Protected Attributes

Reference::To< const CalibratorStokesreference_input
 The Stokes parameters of the input reference signal.
 
Reference::To< const ReferenceCalibratorreference_observation
 The Stokes parameters of the observed reference signal.
 
Reference::To< PolnCalibratorprecalibrator
 The PolnCalibrator to be supplemented.
 
Reference::To< Calibration::SingleAxisSolversolver
 The SingleAxis model solver.
 
- Protected Attributes inherited from Pulsar::PolnCalibrator
std::vector< std::vector< double > > covariance
 The array of covariance matrix vectors.
 
std::vector< Jones< float > > response
 The array of Jones matrices derived from the transformation array.
 
Reference::To< const PolnCalibratorExtensionpoln_extension
 The PolnCalibratorExtension of the Archive passed during construction.
 
Reference::To< const FeedExtensionfeed
 The FeedExtension of the Archive passed during construction.
 
bool built
 Flag set when response has been built.
 
unsigned observation_nchan
 The number of frequency channels in the observation to be calibrated.
 
bool do_backend_correction
 Perform backend corrections before inverting.
 
Index subint
 The sub-integration from which to construct a solution.
 
- Protected Attributes inherited from Pulsar::Calibrator
Reference::To< Typetype
 The type of the Calibrator.
 
Reference::To< Variationvariation
 Updates model parameters.
 
Reference::To< const CalibratorExtensionextension
 The CalibratorExtension of the Archive passed during construction.
 
std::vector< std::string > filenames
 Filenames of Pulsar::Archives from which instance was created.
 

Additional Inherited Members

- Static Public Member Functions inherited from Pulsar::Calibrator
static unsigned get_instance_count ()
 Returns the number of Calibrator instances currently in existence.
 
- Static Public Member Functions inherited from Reference::Able
static size_t get_instance_count ()
 
- Static Public Member Functions inherited from Reference::HeapTracked
static void * operator new (size_t size, void *ptr=0)
 
static void operator delete (void *location, void *ptr)
 
static void operator delete (void *location)
 
static size_t get_heap_queue_size ()
 
- Static Public Attributes inherited from Pulsar::PolnCalibrator
static Option< double > minimum_determinant
 Minimum allowable determinant of Jones matrices. More...
 
- Static Public Attributes inherited from Pulsar::Calibrator
static unsigned verbose = 0
 Verbosity level.
 
static Pulsar::Option< float > median_smoothing
 Fractional bandwidth of the window used in median filter.
 
static Pulsar::Option< float > interpolating
 Fractional bandwidth over which interpolation will be performed.
 
static Pulsar::Option< float > det_threshold
 Tolerance to non-physical values of the coherency matrix.
 

Detailed Description

Supplements a SystemCalibrator with a SingleAxisCalibrator.

Member Function Documentation

◆ get_valid()

bool Pulsar::HybridCalibrator::get_valid ( unsigned  ichan) const
protectedvirtual

Return channel validity at the original resolution, if necessary.

If the reference observation and the pulsar observation have more frequency channels than the precalibrator, then the reference observation will be integrated down to the resolution of the precalibrator and the final solution will be interpolated back up to the resolution of the pulsar observation. In this case, it is desireable to flag bad channels at the original resolution of the reference observation.

Reimplemented from Pulsar::PolnCalibrator.

◆ set_precalibrator()

void Pulsar::HybridCalibrator::set_precalibrator ( PolnCalibrator calibrator)

Set the PolnCalibrator to be supplemented.

Set the PolnCalibrator to be supplemented by the SingleAxis model.

◆ set_reference_observation()

void Pulsar::HybridCalibrator::set_reference_observation ( const ReferenceCalibrator observation)

Set the ReferenceCalibrator data from which to derive a SingleAxis.

Set the ReferenceCalibrator data from which to derive a SingleAxis model.

References Pulsar::Calibrator::get_Archive(), and Pulsar::Calibrator::get_filenames().


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

Generated using doxygen 1.8.17