MeasurementEquation.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/MeasurementEquation.h
10 
11 #ifndef __Calibration_MeasurementEquation_H
12 #define __Calibration_MeasurementEquation_H
13 
14 #include "MEAL/Transformation.h"
15 #include "MEAL/VectorRule.h"
16 #include "MEAL/Complex2.h"
17 #include "MEAL/Real4.h"
18 
19 namespace Calibration {
20 
22 
25  class MeasurementEquation : public MEAL::Complex2
26  {
27 
28  public:
29 
32 
35 
37  virtual void set_input (Complex2* state);
38 
40  virtual void add_input (Complex2* state = 0);
41 
43  Complex2* get_input ();
44 
46  unsigned get_num_input () const;
47 
49  unsigned get_input_index () const;
50 
52  void set_input_index (unsigned index);
53 
55  virtual void erase_input (unsigned index);
56 
58  virtual void set_transformation (Complex2* xform);
59 
61  virtual void add_transformation (Complex2* xform = 0);
62 
64  virtual void set_transformation (MEAL::Real4* xform);
65 
67  virtual void add_transformation (MEAL::Real4* xform = 0);
68 
71 
73  unsigned get_num_transformation () const;
74 
76  unsigned get_transformation_index () const;
77 
79  void set_transformation_index (unsigned index);
80 
81  protected:
82 
84  void calculate (Jones<double>& result, std::vector<Jones<double> >*);
85 
88 
91 
94 
97 
100 
101  };
102 
103 }
104 
105 #endif
106 
void set_transformation_index(unsigned index)
Set the transformation index, .
Definition: MeasurementEquation.C:128
void set_verbose(bool)
~MeasurementEquation()
Destructor.
Definition: MeasurementEquation.C:20
virtual void add_transformation(Complex2 *xform=0)
Add a transformation, , where = get_num_transformation.
Definition: MeasurementEquation.C:82
virtual void set_transformation(Complex2 *xform)
virtual void set_composite(Composite *c)
virtual void set_transformation(Real4 *xform)
MEAL::Transformation< Complex2 > * get_transformation()
Get the current transformation.
Definition: MeasurementEquation.C:112
MEAL::Composite composite
Composite parameter policy.
Definition: MeasurementEquation.h:103
virtual void erase_input(unsigned index)
Remove the specified input from the model.
Definition: MeasurementEquation.C:58
void set_input_index(unsigned index)
Set the input index, .
Definition: MeasurementEquation.C:53
virtual void set_input(Complex2 *state)
Set the input, , where = get_input_index.
Definition: MeasurementEquation.C:25
unsigned get_num_input() const
Get the number of input states.
Definition: MeasurementEquation.C:43
Complex2 * get_input()
Get the current input.
Definition: MeasurementEquation.C:38
void calculate(Jones< double > &result, std::vector< Jones< double > > *)
Returns and its gradient.
Definition: MeasurementEquation.C:135
unsigned get_transformation_index() const
Get the transformation index, .
Definition: MeasurementEquation.C:122
MeasurementEquation()
Default constructor.
Definition: MeasurementEquation.C:14
virtual void set_transformation(Complex2 *xform)
Set the transformation, ,where =get_transformation_index.
Definition: MeasurementEquation.C:74
MEAL::VectorRule< MEAL::Complex2 > inputs
The inputs, .
Definition: MeasurementEquation.h:106
unsigned get_input_index() const
Get the input index, .
Definition: MeasurementEquation.C:48
unsigned get_num_transformation() const
Get the number of transformation states.
Definition: MeasurementEquation.C:117
MEAL::VectorRule< MEAL::Transformation< MEAL::Complex2 > > xforms
The transformations, and .
Definition: MeasurementEquation.h:109
MEAL::Transformation< Complex2 > * new_transformation(Complex2 *)
Construct new integrated instance of CongruenceTransformation.
Definition: MeasurementEquation.C:64
virtual void add_input(Complex2 *state=0)
Add an input, , where = get_num_input.
Definition: MeasurementEquation.C:33

Generated using doxygen 1.8.17