FrontendCorrection.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/FrontendCorrection.h
10 
11 #ifndef __Pulsar_FrontendCorrection_H
12 #define __Pulsar_FrontendCorrection_H
13 
14 #include "Pulsar/Calibrator.h"
15 #include "Pulsar/BasisCorrection.h"
16 #include "Pulsar/ProjectionCorrection.h"
17 
18 namespace Pulsar
19 {
21 
26  class FrontendCorrection : public Calibrator
27  {
28 
29  public:
30 
32  bool required (const Archive*);
33 
35  void set_archive (const Archive*);
36 
38  Jones<double> get_transformation (unsigned isub);
39 
42 
44  Jones<double> get_projection (unsigned isub);
45 
47  std::string get_summary () const;
48 
49  // ///////////////////////////////////////////////////////////////////
50  //
51  // Calibrator implementation
52  //
53  // ///////////////////////////////////////////////////////////////////
54 
56  void calibrate (Archive* archive);
57 
59  unsigned get_nchan () const { return 0; }
60 
62  float get_weight (unsigned) const { return 1.0; }
63 
65  CalibratorExtension* new_Extension () const { return 0; }
66 
67  protected:
68 
70  BasisCorrection basis_correction;
71 
74 
76  ProjectionCorrection projection_correction;
77 
78  };
79 
80 }
81 
82 #endif
Calibrator
Definition: Integration.h:429
BasisCorrection basis_correction
The basis correction.
Definition: FrontendCorrection.h:80
bool required(const Archive *)
Return true if the archive needs to be corrected.
Definition: FrontendCorrection.C:18
Expert * expert()
Provide access to the expert interface.
Definition: Integration.C:162
Jones< double > get_projection(unsigned isub)
Return the transformation from sky to receptors.
Definition: FrontendCorrection.C:61
float get_weight(unsigned) const
Get the weight of any channel.
Definition: FrontendCorrection.h:72
void transform(const Jones< float > &response)
Perform the congruence transformation on each polarimetric profile.
Definition: IntegrationExpert.h:110
The primary interface to pulsar observational data.
Definition: Archive.h:45
unsigned get_nchan() const
Get the number of frequency channels in the calibrator.
Definition: FrontendCorrection.h:69
Contains information about the receiver and receiver platform.
Definition: Receiver.h:28
void set_archive(const Archive *)
Set the archive for which corrections will be calculated.
Definition: FrontendCorrection.C:32
Type * get() const
Jones< double > get_basis()
Return the transformation to the receptor basis.
Definition: FrontendCorrection.C:55
CalibratorExtension * new_Extension() const
Returns a new CalibratorExtension.
Definition: FrontendCorrection.h:75
std::string get_summary() const
Return a summary of parameters relevant to get_transformation.
Definition: FrontendCorrection.C:67
void set_projection_corrected(bool val)
Set true when receptor projection onto sky has been corrected.
Definition: Receiver.h:172
void calibrate(Archive *archive)
Calibrate the Pulsar::Archive.
Definition: FrontendCorrection.C:72
Array of Profiles integrated over the same time interval.
Definition: Integration.h:37
void set_basis_corrected(bool)
Set true when receptor basis has been corrected.
Definition: Receiver.C:174
Jones< double > get_transformation(unsigned isub)
Return the transformation from sky to receptor basis.
Definition: FrontendCorrection.C:39
ProjectionCorrection projection_correction
The projection correction.
Definition: FrontendCorrection.h:86
Defines the PSRCHIVE library.
Definition: CalSource.h:17
Jones< double > basis_transformation
The basis correction transformation applies to all sub-integrations.
Definition: FrontendCorrection.h:83

Generated using doxygen 1.8.17