ProjectionCorrection.h
1 //-*-C++-*-
2 /***************************************************************************
3  *
4  * Copyright (C) 2008 by Willem van Straten
5  * Licensed under the Academic Free License version 2.1
6  *
7  ***************************************************************************/
8 
9 // psrchive/More/Polarimetry/Pulsar/ProjectionCorrection.h
10 
11 #ifndef __Pulsar_ProjectionCorrection_H
12 #define __Pulsar_ProjectionCorrection_H
13 
14 #include "Pulsar/Parallactic.h"
15 #include "Reference.h"
16 #include "Jones.h"
17 
18 class MountProjection;
19 
20 namespace Pulsar
21 {
22  class Archive;
23  class Receiver;
24  class Telescope;
25  class Integration;
26  class Pointing;
27 
30  {
31  public:
32 
35 
38 
43 
45  void set_archive (const Archive*);
46 
48  Jones<double> operator () (unsigned isub) const;
49 
51  bool required (unsigned isub) const;
52 
54  std::string get_summary () const;
55 
56  protected:
57 
59  Jones<double> get_rotation () const;
60 
63 
69 
72 
75 
78 
81 
84 
87 
90 
93 
96 
98  mutable bool must_correct_platform;
99 
101  mutable std::string summary;
102 
104 
105  };
106 }
107 
108 #endif
Jones< double > evaluate(std::vector< Jones< double > > *grad=0) const
bool should_correct_vertical
Flag set when the receiver vertical angle should be corrected.
Definition: ProjectionCorrection.h:89
double get_parallactic_angle() const
std::string summary
Summary of relevant parameters.
Definition: ProjectionCorrection.h:101
Reference::To< const Pointing, false > pointing
The pointing extension from the integration.
Definition: ProjectionCorrection.h:83
Jones< double > get_rotation() const
Return the basis rotation correction.
Definition: ProjectionCorrection.C:222
void set_archive(const Archive *)
Set the archive for which projection corrections will be computed.
Definition: ProjectionCorrection.C:69
void set_observatory_latitude(double latitude)
void set_source_coordinates(const sky_coord &coords)
Reference::To< const Integration, false > integration
The sub-integration for which projection corrections will be computed.
Definition: ProjectionCorrection.h:80
void set_phi(const Estimate< double > &radians)
The primary interface to pulsar observational data.
Definition: Archive.h:45
Contains information about the receiver and receiver platform.
Definition: Receiver.h:28
virtual std::string get_name() const=0
Angle get_position_angle() const
Get the Position angle of feed at subint centre.
Definition: Pointing.C:147
std::string get_summary() const
Return a summary of parameters relevant to get_rotation.
Definition: ProjectionCorrection.C:364
Type * get() const
ProjectionCorrection()
Default constructor.
Definition: ProjectionCorrection.C:29
Calibration::Parallactic para
The parallactic (vertical) angle rotation.
Definition: ProjectionCorrection.h:86
void set_observatory_longitude(double longitude)
Reference::To< const Telescope, false > telescope
The telescope extension from the archive.
Definition: ProjectionCorrection.h:74
Contains information about the telescope used for the observation.
Definition: Telescope.h:26
bool should_correct_projection
Flag set when the receiver projection should be corrected.
Definition: ProjectionCorrection.h:95
Mount
Types of primary reflector mounts.
Definition: Telescope.h:57
Reference::To< MountProjection > projection
The projection correction calculator.
Definition: ProjectionCorrection.h:92
Correct the backend convention.
Definition: ProjectionCorrection.h:29
~ProjectionCorrection()
Destructor.
Definition: ProjectionCorrection.C:33
Vector< 3, T > get_vector() const
bool must_correct_platform
Flag set when either of the above corrections have not been performed.
Definition: ProjectionCorrection.h:98
Jones< double > operator()(unsigned isub) const
Return the projection correction for the given sub-integration.
Definition: ProjectionCorrection.C:371
Reference::To< const Receiver, false > receiver
The receiver extension from the archive.
Definition: ProjectionCorrection.h:77
Jones< double > get_projection() const
Return the basis projection correction.
Definition: ProjectionCorrection.C:338
Reference::To< const Archive, false > archive
The archive for which projection corrections will be computed.
Definition: ProjectionCorrection.h:71
Defines the PSRCHIVE library.
Definition: CalSource.h:17
static bool trust_pointing_feed_angle
Always trust the feed angle stored in the Pointing extension.
Definition: ProjectionCorrection.h:37
Parallactic angle transformation of receiver feed.
Definition: Parallactic.h:58
bool required(unsigned isub) const
Return true if the given sub-integration requires correction.
Definition: ProjectionCorrection.C:125
static bool trust_pointing_para_angle
Trust Pointing parallactic angle more than computed value.
Definition: ProjectionCorrection.h:34
Telescope pointing parameters recorded during the observation.
Definition: Pointing.h:27

Generated using doxygen 1.8.17