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/Complex2.h"
15#include "MEAL/Real4.h"
16#include "MEAL/Convert.h"
17
18namespace MEAL {
19
21
22 class JonesMueller : public Convert<Complex2,Real4>
23 {
24
25 public:
26
29
31 virtual void set_transformation (Complex2* transformation)
32 { set_model (transformation); }
33
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
Pure virtual base class of all complex 2x2 matrix functions.
Definition Complex2.h:40
Convert a function to another type.
Definition Convert.h:20
void set_model(Complex2 *_model)
Definition Convert.h:25
Complex2 * get_model()
Definition Convert.h:32
JonesMueller(Complex2 *=0)
Default constructor.
Definition JonesMueller.C:12
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
std::string get_name() const
Return the name of the class.
Definition JonesMueller.C:18
virtual void set_transformation(Complex2 *transformation)
Set the transformation, .
Definition JonesMueller.h:31
virtual Complex2 * get_transformation()
Get the transformation, .
Definition JonesMueller.h:35
Namespace in which all modeling and calibration related code is declared.
Definition ExampleComplex2.h:16

Generated using doxygen 1.14.0