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 
16 namespace 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 
63  typedef Jones<double> Return;
65  void set_measure (double rotation_measure);
67  double get_measure () const;
68 
69  protected:
70 
73 
75  double reference_wavelength;
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_description(const std::string &_description)
double reference_wavelength
Reference wavelength in metres.
Definition: Faraday.h:85
void set_measure(double rotation_measure)
Set the rotation measure.
Definition: Faraday.C:47
Faraday()
Default constructor.
Definition: Faraday.C:17
void set_name(const std::string &_name)
void set_rotation_measure(const Estimate< double > &rotation_measure)
Set the rotation measure.
Definition: Faraday.C:35
void set_frequency(double MHz)
Set the frequency in MHz.
Definition: Faraday.C:72
double get_reference_wavelength() const
Get the reference wavelength in metres.
Definition: Faraday.C:94
double get_wavelength() const
Get the wavelength in metres.
Definition: Faraday.C:111
double get_measure() const
Get the rotation measure.
Definition: Faraday.C:53
double get_rotation() const
Get the Faraday rotation angle.
Definition: Faraday.C:122
void set_reference_frequency(double MHz)
Set the reference frequency in MHz.
Definition: Faraday.C:59
double get_frequency() const
Get the frequency in MHz.
Definition: Faraday.C:78
Estimate< double > get_rotation_measure() const
Get the rotation measure.
Definition: Faraday.C:41
void set_axis(const Vector< 3, double > &axis)
Set the axis about which the rotation occurs.
Definition: Faraday.C:116
double wavelength
Wavelength in metres.
Definition: Faraday.h:88
void set_wavelength(double metres)
Set the wavelength in metres.
Definition: Faraday.C:101
MEAL::Rotation1 rotation
The Rotation operation.
Definition: Faraday.h:82
void calculate(Jones< double > &result, std::vector< Jones< double > > *grad)
Calculate the Jones matrix and its gradient.
Definition: Faraday.C:149
Jones< double > Return
enable use with the ColdPlasma template
Definition: Faraday.h:73
std::string get_name() const
Return the name of the class.
Definition: Faraday.C:29
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:84

Generated using doxygen 1.8.17