Rotation.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/MEAL/MEAL/Rotation.h
10
11#ifndef __MEAL_Rotation_H
12#define __MEAL_Rotation_H
13
14#include "MEAL/Complex2.h"
15#include "Vector.h"
16
17namespace MEAL {
18
20
33 class Rotation : public Complex2
34 {
35
36 public:
37
39 Rotation ();
40
42 Rotation (const Vector<3,double>& axis, double angle);
43
45 void set_axis_angle (Vector<3,double> axis, double angle);
46
48 Vector<3, double> get_axis () const;
49
51 double get_phi () const;
52
54 void set_vector (const Vector<3,double>&);
55
57 Vector<3, double> get_vector () const;
58
59 // ///////////////////////////////////////////////////////////////////
60 //
61 // Function implementation
62 //
63 // ///////////////////////////////////////////////////////////////////
64
66 std::string get_name () const;
67
68 protected:
69
71 void calculate (Jones<double>& result, std::vector<Jones<double> >*);
72
73 void init();
74 };
75
76}
77
78#endif
Pure virtual base class of all complex 2x2 matrix functions.
Definition Complex2.h:40
double get_phi() const
Get the rotation angle, phi.
Definition Rotation.C:92
Rotation()
Default constructor.
Definition Rotation.C:14
void calculate(Jones< double > &result, std::vector< Jones< double > > *)
Calculate the Jones matrix and its gradient.
Definition Rotation.C:99
void set_axis_angle(Vector< 3, double > axis, double angle)
Set the rotation axis and angle in radians.
Definition Rotation.C:76
Vector< 3, double > get_axis() const
Get the unit-vector along which the rotation occurs.
Definition Rotation.C:65
std::string get_name() const
Return the name of the class.
Definition Rotation.C:51
Vector< 3, double > get_vector() const
Get the three free parameters as a vector.
Definition Rotation.C:56
void set_vector(const Vector< 3, double > &)
Set the three free parameters as a vector.
Definition Rotation.C:86
Namespace in which all modeling and calibration related code is declared.
Definition ExampleComplex2.h:16

Generated using doxygen 1.14.0