SpinorJones.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/SpinorJones.h
10 
11 #ifndef __MEAL_SpinorJones_H
12 #define __MEAL_SpinorJones_H
13 
14 #include "MEAL/Complex2.h"
15 #include "MEAL/Spinor.h"
16 #include "MEAL/Composite.h"
17 
18 namespace MEAL {
19 
21 
22  class SpinorJones : public MEAL::Complex2
23  {
24 
25  public:
26 
28  SpinorJones ();
29 
31  virtual void set_spinor (Spinor*);
32 
34  virtual void set_spinorA (Spinor*);
35 
37  virtual Spinor* get_spinorA () { return spinorA; }
38 
40  virtual void set_spinorB (Spinor*);
41 
43  virtual Spinor* get_spinorB () { return spinorB; }
44 
45  std::string get_name () const;
46 
47  protected:
48 
50  virtual void calculate (Jones<double>& result,
51  std::vector< Jones<double> >*);
52 
55 
58 
61 
64 
65  };
66 
67 }
68 
69 #endif
70 
virtual void set_spinorB(Spinor *)
Set spinor B.
Definition: SpinorJones.C:35
virtual Spinor * get_spinorB()
Get spinor B.
Definition: SpinorJones.h:53
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: SpinorJones.C:19
virtual void calculate(Jones< double > &result, std::vector< Jones< double > > *)
Calculate the Mueller matrix and its gradient.
Definition: SpinorJones.C:79
virtual void set_spinorA(Spinor *)
Set spinor A.
Definition: SpinorJones.C:30
Parameter policy for composite functions.
Definition: Composite.h:25
Namespace in which all modeling and calibration related code is declared.
Definition: ExampleComplex2.h:16
static bool verbose
Verbosity flag.
Definition: Function.h:54
Pure virtual base class of scalar functions.
Definition: Spinor.h:26
Project< Spinor > spinorB
Spinor B.
Definition: SpinorJones.h:67
SpinorJones()
Default constructor.
Definition: SpinorJones.C:15
Composite composite
Composite parameter policy.
Definition: SpinorJones.h:70
Template combines a reference to a Component and its Projection.
Definition: Projection.h:65
virtual Spinor * get_spinorA()
Get spinor A.
Definition: SpinorJones.h:47
Project< Spinor > spinorA
Spinor A.
Definition: SpinorJones.h:64
virtual void set_spinor(Spinor *)
Set spinor A == spinor B.
Definition: SpinorJones.C:24
Vector< 2, std::complex< double > > Result
The return type of the evaluate method.
Definition: Evaluable.h:40

Generated using doxygen 1.8.17