Pulsar::FaradayRotation Class Reference

Corrects Faraday rotation. More...

#include <FaradayRotation.h>

Inheritance diagram for Pulsar::FaradayRotation:
Pulsar::ColdPlasma< Calibration::Faraday, DeFaraday > Pulsar::Transformation< Integration > Pulsar::Algorithm Reference::Able Reference::HeapTracked

Public Member Functions

 FaradayRotation ()
 Default constructor.
 
double get_correction_measure (const Integration *)
 Return the rotation measure due to the ISM.
 
double get_absolute_measure (const Integration *)
 Return the auxiliary rotation measure (0 if corrected)
 
double get_effective_measure (const Integration *)
 Return the effective rotation measure that remains to be corrected.
 
bool get_corrected (const Integration *data)
 Ignore correction history if parent Archive corrected flag is false.
 
Jones< double > get_identity ()
 Return the identity matrix.
 
void combine (Jones< double > &res, const Jones< double > &J)
 Combine matrices.
 
void apply (Integration *, unsigned channel)
 Faraday rotate each profile by the correction.
 
void execute (Archive *)
 Apply the current correction to all sub-integrations in an archive. More...
 
void revert (Archive *)
 Undo the correction. More...
 
void set_rotation_measure (double rotation_measure)
 Set the rotation measure.
 
double get_rotation_measure () const
 Get the rotation measure.
 
- Public Member Functions inherited from Pulsar::ColdPlasma< Calibration::Faraday, DeFaraday >
 ColdPlasma ()
 Default constructor.
 
virtual void combine (Type &result, const Type &add)=0
 Derived classes must define the operator.
 
void just_do_it (Archive *)
 Just do the correction (off the books)
 
void transform (Integration *)
 The default correction.
 
void setup (const Integration *)
 Set up internal variables before execution. More...
 
void update (const Integration *)
 update internal variables before execution More...
 
virtual void set (const Integration *data)
 Calls setup then update.
 
virtual void set_Profile (const Profile *data)
 Set the frequency for which the correction will be computed.
 
void execute1 (Integration *)
 Execute the correction.
 
void revert1 (Integration *)
 Undo the correction.
 
void correct (Integration *, unsigned ichan, unsigned jchan, double freq)
 Correct the selected range according to effective_measure. More...
 
void match (const Integration *reference, Integration *to_be_corrected)
 Correct the second argument as the first argument was corrected.
 
void set_reference_wavelength (double metres)
 Set the reference wavelength in metres.
 
double get_reference_wavelength () const
 Get the reference wavelength.
 
void set_reference_frequency (double MHz)
 Set the reference frequency in MHz.
 
double get_reference_frequency () const
 Get the reference frequency in MHz.
 
void set_measure (double measure)
 Set the correction measure.
 
double get_measure () const
 Get the correction measure.
 
void set_delta (const Type &d)
 Set the correction due to a change in reference wavelength.
 
Type get_delta () const
 Get the correction due to a change in reference wavelength.
 
- Public Member Functions inherited from Pulsar::Transformation< Integration >
void operator() (Integration *container)
 Functor interface.
 
- 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
 

Additional Inherited Members

- Public Types inherited from Pulsar::ColdPlasma< Calibration::Faraday, DeFaraday >
typedef Calibration::Faraday ::Return Type
 
- 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 ()
 
- Protected Member Functions inherited from Pulsar::ColdPlasma< Calibration::Faraday, DeFaraday >
void range (Integration *, unsigned ichan, unsigned jchan)
 Execute the correction on the selected range. More...
 
- Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
 
void __dereference (bool auto_delete=true) const
 
- Protected Attributes inherited from Pulsar::ColdPlasma< Calibration::Faraday, DeFaraday >
Calibration::Faraday corrector
 The dielectric effect corrector.
 
Type delta
 The correction due to a change in reference wavelength.
 
std::string name
 The name to be used in verbose messages.
 
std::string val
 The name of the correction measure.
 

Detailed Description

Corrects Faraday rotation.

Rotates the polarization profiles in each frequency channel about the line of sight to remove Faraday rotation with respect to the reference frequency.

Precondition
The noise contribution to Stokes Q and U should have been removed.
The Integration must have full polarimetric information.
Postcondition
All profiles will have a position angle aligned to the reference frequency

Member Function Documentation

◆ execute()

void Pulsar::FaradayRotation::execute ( Archive arch)
virtual

Apply the current correction to all sub-integrations in an archive.

Execute the correction for an entire Pulsar::Archive.

Reimplemented from Pulsar::ColdPlasma< Calibration::Faraday, DeFaraday >.

References Pulsar::Archive::getadd(), Pulsar::Archive::set_faraday_corrected(), and Pulsar::Archive::set_rotation_measure().

Referenced by Pulsar::Interpreter::defaraday(), and Pulsar::RotatingVectorModelShift::preprocess().

◆ revert()

void Pulsar::FaradayRotation::revert ( Archive arch)
virtual

Undo the correction.

Undo the correction for an entire Pulsar::Archive.

Reimplemented from Pulsar::ColdPlasma< Calibration::Faraday, DeFaraday >.

References Pulsar::Archive::set_faraday_corrected().


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

Generated using doxygen 1.8.17