JonesMueller.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/MEAL/MEAL/JonesMueller.h
10 
11 #ifndef __MEAL_JonesMueller_H
12 #define __MEAL_JonesMueller_H
13 
14 #include "MEAL/Real4.h"
15 #include "MEAL/Complex2.h"
16 #include "MEAL/Convert.h"
17 
18 namespace MEAL {
19 
21 
22  class JonesMueller : public Convert<Complex2,Real4>
23  {
24 
25  public:
26 
28  JonesMueller (Complex2* = 0);
29 
31  virtual void set_transformation (Complex2* transformation)
32  { set_model (transformation); }
33 
35  virtual Complex2* get_transformation ()
36  { return get_model (); }
37 
38  std::string get_name () const;
39 
40  protected:
41 
43  virtual void calculate (Matrix<4,4,double>& result,
44  std::vector<Matrix<4,4,double> >*);
45 
46  };
47 
48 }
49 
50 #endif
51 
virtual Complex2 * get_transformation()
Get the transformation, .
Definition: JonesMueller.h:45
Pure virtual base class of all complex 2x2 matrix functions.
Definition: Complex2.h:34
std::string get_name() const
Return the name of the class.
Definition: JonesMueller.C:18
void set_model(Complex2 *_model)
Set the function to be converted.
Definition: Convert.h:35
virtual void calculate(Matrix< 4, 4, double > &result, std::vector< Matrix< 4, 4, double > > *)
Calculate the Mueller matrix and its gradient.
Definition: JonesMueller.C:28
Namespace in which all modeling and calibration related code is declared.
Definition: ExampleComplex2.h:16
Complex2 * get_model()
Get the function to be converted.
Definition: Convert.h:42
virtual void set_transformation(Complex2 *transformation)
Set the transformation, .
Definition: JonesMueller.h:41
JonesMueller(Complex2 *=0)
Default constructor.
Definition: JonesMueller.C:12

Generated using doxygen 1.8.17