VariableFaradayRotation.h
1//-*-C++-*-
2/***************************************************************************
3 *
4 * Copyright (C) 2022 by Willem van Straten
5 * Licensed under the Academic Free License version 2.1
6 *
7 ***************************************************************************/
8
9#ifndef __Pulsar_VariableFaradayRotation_h
10#define __Pulsar_VariableFaradayRotation_h
11
12#include "Pulsar/KnownVariableTransformation.h"
13#include "Pulsar/Faraday.h"
14
15namespace Pulsar {
16
18 class VariableFaradayRotation : public KnownVariableTransformation
19 {
20 // ionospheric Faraday rotation transformation
21 mutable Reference::To<Calibration::Faraday> iono_faraday;
22
23 // ionospheric Faraday rotation measure
24 double ionospheric_rotation_measure;
25
26 // interstellar Faraday rotation transformation
27 mutable Reference::To<Calibration::Faraday> ism_faraday;
28
29 // interstellar Faraday rotation measure
30 double interstellar_rotation_measure;
31
32 mutable LabelledJones<double> transformation;
33 mutable bool is_required;
34 mutable std::string description;
35 void build () const;
36
37 public:
38
39 VariableFaradayRotation ();
40
43
46
49
51 const Calibration::Faraday* get_interstellar_rotation () const { return ism_faraday; }
52
54 const Calibration::Faraday* get_ionospheric_rotation () const { return iono_faraday; }
55
57 bool required () const;
58
60 std::string get_description () const;
61
62 };
63}
64
65#endif
Faraday rotation transformation.
Definition Faraday.h:21
Manager of variable transformations.
Definition KnownVariableTransformation.h:37
A Jones matrix with a label.
Definition KnownVariableTransformation.h:21
std::string get_description() const
Return the description.
Definition VariableFaradayRotation.C:43
bool required() const
Return true if the transformation is required.
Definition VariableFaradayRotation.C:35
const Calibration::Faraday * get_interstellar_rotation() const
Get the transformation used to compute interstellar Faraday rotation.
Definition VariableFaradayRotation.h:51
const Calibration::Faraday * get_ionospheric_rotation() const
Get the transformation used to compute ionospheric Faraday rotation.
Definition VariableFaradayRotation.h:54
LabelledJones< double > get_value() override
Get the transformation.
Definition VariableFaradayRotation.C:24
void set_interstellar_rotation_measure(double)
Set the interstellar Faraday rotation measure.
Definition VariableFaradayRotation.C:57
void set_ionospheric_rotation_measure(double)
Set the ionospheric Faraday rotation measure.
Definition VariableFaradayRotation.C:51
Defines the PSRCHIVE library.
Definition CalSource.h:17

Generated using doxygen 1.14.0