VariableBackend.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/VariableBackend.h
10
11#ifndef __CalibrationVariableBackend_H
12#define __CalibrationVariableBackend_H
13
14#include "MEAL/Complex2.h"
15#include "MEAL/ScalarParameter.h"
16#include "MEAL/ChainRule.h"
17
18#include "Estimate.h"
19#include "Stokes.h"
20
21namespace Calibration {
22
23 class SingleAxis;
24
26
29
30 class VariableBackend : public MEAL::ChainRule<MEAL::Complex2>
31 {
32
33 public:
34
37
40
43
46
48 VariableBackend* clone () const;
49
51 void set_cyclic (bool flag = true);
52
55
58
61
63 void set_gain (const Estimate<double>& gain);
64
66 void set_diff_gain (const Estimate<double>& gamma);
67
69 void set_diff_phase (const Estimate<double>& phi);
70
72 const SingleAxis* get_backend () const;
74
77
80
83
85 const MEAL::Scalar* get_gain_variation () const;
86
89
92
93 // ///////////////////////////////////////////////////////////////////
94 //
95 // Model implementation
96 //
97 // ///////////////////////////////////////////////////////////////////
98
100 std::string get_name () const;
101
102 protected:
103
106
109
112
115
116 private:
117
119 void init ();
120
121 };
122
123}
124
125#endif
126
Instrumental gain, differential gain, and differential phase.
Definition SingleAxis.h:38
const VariableBackend & operator=(const VariableBackend &s)
Assignment Operator.
Definition VariableBackend.C:38
const MEAL::Scalar * get_gain_variation() const
Get the instrumental gain variation.
Definition VariableBackend.C:210
void set_diff_gain_variation(MEAL::Scalar *)
Set the differential gain variation.
Definition VariableBackend.C:166
Estimate< double > get_gain() const
Get the instrumental gain, , in calibrator flux units.
Definition VariableBackend.C:84
~VariableBackend()
Destructor.
Definition VariableBackend.C:58
void set_diff_phase(const Estimate< double > &phi)
Set the differential phase, , in radians.
Definition VariableBackend.C:131
void set_cyclic(bool flag=true)
Set cyclical bounds on the differential phase.
Definition VariableBackend.C:77
const MEAL::Scalar * get_diff_phase_variation() const
Get the differential phase variation.
Definition VariableBackend.C:222
VariableBackend()
Default Constructor.
Definition VariableBackend.C:25
Estimate< double > get_diff_phase() const
Get the differential phase, , in radians.
Definition VariableBackend.C:102
std::string get_name() const
Return the name of the class.
Definition VariableBackend.C:71
void set_gain(const Estimate< double > &gain)
Set the instrumental gain, , in calibrator flux units.
Definition VariableBackend.C:111
void set_diff_gain(const Estimate< double > &gamma)
Set the differential gain, , in hyperbolic radians.
Definition VariableBackend.C:121
Reference::To< MEAL::Scalar > diff_gain_variation
Scalar function used to model differential gain variation.
Definition VariableBackend.h:111
Reference::To< MEAL::Scalar > diff_phase_variation
Scalar function used to model differential phase variation.
Definition VariableBackend.h:114
void set_gain_variation(MEAL::Scalar *)
Set the instrumental gain variation.
Definition VariableBackend.C:151
const SingleAxis * get_backend() const
Provide access to the SingleAxis model.
Definition VariableBackend.C:145
Reference::To< SingleAxis > backend
SingleAxis model: , , and .
Definition VariableBackend.h:105
Reference::To< MEAL::Scalar > gain_variation
Scalar function used to model gain variation.
Definition VariableBackend.h:108
void set_diff_phase_variation(MEAL::Scalar *)
Set the differential phase variation.
Definition VariableBackend.C:189
VariableBackend * clone() const
Clone operator.
Definition VariableBackend.C:65
const MEAL::Scalar * get_diff_gain_variation() const
Get the differential gain variation.
Definition VariableBackend.C:216
Estimate< double > get_diff_gain() const
Get the differential gain, , in hyperbolic radians.
Definition VariableBackend.C:93

Generated using doxygen 1.14.0