FaradayRotation.h
1//-*-C++-*-
2/***************************************************************************
3 *
4 * Copyright (C) 2006-2010 by Willem van Straten
5 * Licensed under the Academic Free License version 2.1
6 *
7 ***************************************************************************/
8
9// psrchive/More/Polarimetry/Pulsar/FaradayRotation.h
10
11#ifndef __Pulsar_FaradayRotation_h
12#define __Pulsar_FaradayRotation_h
13
14#include "Pulsar/ColdPlasma.h"
15
16#include "Pulsar/Faraday.h"
17#include "Pulsar/DeFaraday.h"
18
19namespace Pulsar {
20
22
32 class FaradayRotation : public ColdPlasma<Calibration::Faraday,DeFaraday>
33 {
34
35 public:
36
39
41
42 double get_relative_measure (const Integration*) const override;
43
45
46 double get_absolute_measure (const Integration*) const override;
47
49
50 bool get_relative_corrected (const Integration*) const override;
51
53
54 bool get_absolute_corrected (const Integration*) const override;
55
57 Jones<double> get_identity () const override { return 1; }
58
60 void combine (Jones<double>& res, const Jones<double>& J) const override { res *= J; }
61
63 void apply (Integration*, unsigned channel, Jones<double> rotation) override;
64
66 void execute (Archive*);
67
69 void revert (Archive*);
70
72 void set_rotation_measure (double rotation_measure)
73 { relative.set_measure (rotation_measure); }
74
76 double get_rotation_measure () const
77 { return relative.get_measure (); }
78
79 };
80
81}
82
83#endif
The primary interface to pulsar observational data.
Definition Archive.h:46
Calibration::Faraday relative
Definition ColdPlasma.h:145
double get_absolute_measure(const Integration *) const override
Return the auxiliary rotation measure.
Definition FaradayRotation.C:36
double get_relative_measure(const Integration *) const override
Return the rotation measure.
Definition FaradayRotation.C:27
void revert(Archive *)
Undo the correction.
Definition FaradayRotation.C:73
FaradayRotation()
Default constructor.
Definition FaradayRotation.C:20
bool get_absolute_corrected(const Integration *) const override
Return true if the auxiliary rotation measure has been corrected with respect to centre frequency.
Definition FaradayRotation.C:54
bool get_relative_corrected(const Integration *) const override
Return true if the rotation measure has been corrected with respect to centre frequency.
Definition FaradayRotation.C:45
void execute(Archive *)
Apply the current correction to all sub-integrations in an archive.
Definition FaradayRotation.C:64
double get_rotation_measure() const
Get the rotation measure.
Definition FaradayRotation.h:76
void combine(Jones< double > &res, const Jones< double > &J) const override
Combine matrices.
Definition FaradayRotation.h:60
void apply(Integration *, unsigned channel, Jones< double > rotation) override
Invert the Faraday rotation in the specified polarization.
Definition FaradayRotation.C:79
Jones< double > get_identity() const override
Return the identity matrix.
Definition FaradayRotation.h:57
void set_rotation_measure(double rotation_measure)
Set the rotation measure.
Definition FaradayRotation.h:72
Array of Profiles integrated over the same time interval.
Definition Integration.h:37
Defines the PSRCHIVE library.
Definition CalSource.h:17

Generated using doxygen 1.14.0