Faraday.h
1//-*-C++-*-
2/***************************************************************************
3 *
4 * Copyright (C) 2004 by Willem van Straten
5 * Licensed under the Academic Free License version 2.1
6 *
7 ***************************************************************************/
8
9// psrchive/More/Polarimetry/Pulsar/Faraday.h
10
11#ifndef __Calibration_Faraday_H
12#define __Calibration_Faraday_H
13
14#include "MEAL/Rotation1.h"
15
16namespace Calibration {
17
19
21 class Faraday : public MEAL::Complex2 {
22
23 public:
24
26 Faraday ();
27
29 std::string get_name () const;
30
32 void set_rotation_measure (const Estimate<double>& rotation_measure);
35
37 void set_reference_frequency (double MHz);
39 double get_reference_frequency () const;
40
42 void set_frequency (double MHz);
44 double get_frequency () const;
45
47 void set_reference_wavelength (double metres);
49 double get_reference_wavelength () const;
50
52 void set_wavelength (double metres);
54 double get_wavelength () const;
55
57 void set_axis (const Vector<3, double>& axis);
58
60 double get_rotation () const;
61
65 void set_measure (double rotation_measure);
67 double get_measure () const;
68
69 protected:
70
73
76
78 double wavelength;
79
80 // ///////////////////////////////////////////////////////////////////
81 //
82 // MEAL::Complex2 implementation
83 //
84 // ///////////////////////////////////////////////////////////////////
85
87 void calculate (Jones<double>& result, std::vector<Jones<double> >* grad);
88
89 };
90
91}
92
93#endif
void set_measure(double rotation_measure)
Set the rotation measure.
Definition Faraday.C:47
void set_axis(const Vector< 3, double > &axis)
Set the axis about which the rotation occurs.
Definition Faraday.C:124
double get_rotation() const
Get the Faraday rotation angle.
Definition Faraday.C:130
void calculate(Jones< double > &result, std::vector< Jones< double > > *grad)
Calculate the Jones matrix and its gradient.
Definition Faraday.C:161
MEAL::Rotation1 rotation
The Rotation operation.
Definition Faraday.h:72
double wavelength
Wavelength in metres.
Definition Faraday.h:78
Jones< double > Return
enable use with the ColdPlasma template
Definition Faraday.h:63
void set_wavelength(double metres)
Set the wavelength in metres.
Definition Faraday.C:105
Estimate< double > get_rotation_measure() const
Get the rotation measure.
Definition Faraday.C:41
double get_frequency() const
Get the frequency in MHz.
Definition Faraday.C:82
double reference_wavelength
Reference wavelength in metres.
Definition Faraday.h:75
void set_rotation_measure(const Estimate< double > &rotation_measure)
Set the rotation measure.
Definition Faraday.C:35
double get_wavelength() const
Get the wavelength in metres.
Definition Faraday.C:119
std::string get_name() const
Return the name of the class.
Definition Faraday.C:29
double get_reference_wavelength() const
Get the reference wavelength in metres.
Definition Faraday.C:98
void set_frequency(double MHz)
Set the frequency in MHz.
Definition Faraday.C:72
double get_reference_frequency() const
Get the reference frequency in MHz.
Definition Faraday.C:65
void set_reference_wavelength(double metres)
Set the reference wavelength in metres.
Definition Faraday.C:88
void set_reference_frequency(double MHz)
Set the reference frequency in MHz.
Definition Faraday.C:59
double get_measure() const
Get the rotation measure.
Definition Faraday.C:53
Faraday()
Default constructor.
Definition Faraday.C:17

Generated using doxygen 1.14.0