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 
19 namespace Pulsar {
20 
22 
32  class FaradayRotation : public ColdPlasma<Calibration::Faraday,DeFaraday> {
33 
34  public:
35 
38 
40  double get_correction_measure (const Integration*);
41 
43  double get_absolute_measure (const Integration*);
44 
46  double get_effective_measure (const Integration*);
47 
49  bool get_corrected (const Integration* data);
50 
52  Jones<double> get_identity () { return 1; }
53 
55  void combine (Jones<double>& res, const Jones<double>& J) { res *= J; }
56 
58  void apply (Integration*, unsigned channel);
59 
61  void execute (Archive*);
62 
64  void revert (Archive*);
65 
67  void set_rotation_measure (double rotation_measure)
68  { set_measure (rotation_measure); }
69 
71  double get_rotation_measure () const
72  { return get_measure (); }
73 
74  };
75 
76 }
77 
78 #endif
void revert(Archive *)
Undo the correction.
Definition: FaradayRotation.C:75
void set_rotation_measure(double rotation_measure)
Set the rotation measure.
Definition: FaradayRotation.h:77
The primary interface to pulsar observational data.
Definition: Archive.h:45
bool get_faraday_corrected() const
Data has been corrected for ISM faraday rotation.
Definition: Integration.C:489
void combine(Jones< double > &res, const Jones< double > &J)
Combine matrices.
Definition: FaradayRotation.h:65
Jones< double > get_identity()
Return the identity matrix.
Definition: FaradayRotation.h:62
bool get_auxiliary_birefringence_corrected() const
Auxiliary inter-channel birefringence has been removed.
Definition: Integration.C:570
Corrects dielectric effects in cold plasma.
Definition: ColdPlasma.h:43
double get_rotation_measure() const
Get the auxiliary rotation measure.
Definition: AuxColdPlasmaMeasures.C:41
void execute(Archive *)
Apply the current correction to all sub-integrations in an archive.
Definition: FaradayRotation.C:66
double get_rotation_measure() const
Get the rotation measure (in )
Definition: Integration.C:478
double get_rotation_measure() const
Get the rotation measure.
Definition: FaradayRotation.h:81
Array of Profiles integrated over the same time interval.
Definition: Integration.h:37
double get_dispersion_measure() const
Get the dispersion measure (in )
Definition: Integration.C:456
double get_measure() const
Get the correction measure.
Definition: ColdPlasma.h:233
bool get_corrected(const Integration *data)
Ignore correction history if parent Archive corrected flag is false.
Definition: FaradayRotation.C:60
double get_effective_rotation_measure() const
Get the effective rotation measure that remains to be corrected.
Definition: Integration.C:549
void set_measure(double measure)
Set the correction measure.
Definition: ColdPlasma.h:227
ExtensionType * getadd()
Template method returns an Extension of the specified type.
void apply(Integration *, unsigned channel)
Faraday rotate each profile by the correction.
Definition: FaradayRotation.C:81
double get_absolute_measure(const Integration *)
Return the auxiliary rotation measure (0 if corrected)
Definition: FaradayRotation.C:38
double get_correction_measure(const Integration *)
Return the rotation measure due to the ISM.
Definition: FaradayRotation.C:28
double get_effective_measure(const Integration *)
Return the effective rotation measure that remains to be corrected.
Definition: FaradayRotation.C:51
Auxiliary cold plasma dispersion and birefringence corrections.
Definition: AuxColdPlasma.h:26
FaradayRotation()
Default constructor.
Definition: FaradayRotation.C:20
Defines the PSRCHIVE library.
Definition: CalSource.h:17
virtual void set_faraday_corrected(bool done=true)=0
Set the value to be returned by get_ism_rm_corrected.
Stores parameters used to correct auxiliary dispersion and birefringence.
Definition: AuxColdPlasmaMeasures.h:24
virtual void set_rotation_measure(double rm)=0
Set the rotation measure (in )
PolnProfile * new_PolnProfile(unsigned ichan)
Returns a pointer to a new PolnProfile instance.
Definition: Integration_new_PolnProfile.C:16
const ExtensionType * get() const
Template method searches for an Extension of the specified type.

Generated using doxygen 1.8.17