BoostUnion.h
1//-*-C++-*-
2/***************************************************************************
3 *
4 * Copyright (C) 2011 by Willem van Straten
5 * Licensed under the Academic Free License version 2.1
6 *
7 ***************************************************************************/
8
9// psrchive/More/MEAL/MEAL/BoostUnion.h
10
11#ifndef __MEAL_BoostUnion_H
12#define __MEAL_BoostUnion_H
13
14/*
15 * It is necessary to include Vector.h first in order to define true_math::finite(Vector)
16 * before the Evaluable::evaluate method is encountered
17 */
18
19#include "Vector.h"
20
21#include "MEAL/Complex2.h"
22#include "MEAL/Composite.h"
23
24namespace MEAL {
25
27
29 class BoostUnion : public Complex2 {
30
31 public:
32
33 BoostUnion ();
34
36 void set_axis (Evaluable< Vector<3,double> >*);
37
40
42 Vector<3, double> get_axis () const;
43
45 double get_beta () const;
46
47 // ///////////////////////////////////////////////////////////////////
48 //
49 // Function implementation
50 //
51 // ///////////////////////////////////////////////////////////////////
52
54 std::string get_name () const;
55
56 protected:
57
59 void calculate (Jones<double>& result, std::vector<Jones<double> >*);
60
63
66
69
70 };
71
72}
73
74#endif
Project< Evaluable< double > > beta
The boost parameter.
Definition BoostUnion.h:65
Project< Evaluable< Vector< 3, double > > > axis
The model that defines the axis.
Definition BoostUnion.h:62
void calculate(Jones< double > &result, std::vector< Jones< double > > *)
Calculate the Jones matrix and its gradient.
Definition BoostUnion.C:66
Vector< 3, double > get_axis() const
Get the unit-vector along which the boost occurs.
Definition BoostUnion.C:47
void set_beta(Evaluable< double > *)
Set the model that defines the boost parameter.
Definition BoostUnion.C:36
Composite composite
Composite parameter policy.
Definition BoostUnion.h:68
std::string get_name() const
Return the name of the class.
Definition BoostUnion.C:19
void set_axis(Evaluable< Vector< 3, double > > *)
Set the model that defines the unit vector.
Definition BoostUnion.C:25
double get_beta() const
Get the boost parameter, beta.
Definition BoostUnion.C:56
Pure virtual base class of all complex 2x2 matrix functions.
Definition Complex2.h:40
Parameter policy for composite functions.
Definition Composite.h:20
Template base class of functions with an evaluate method.
Definition Evaluable.h:37
Template combines a reference to a Component and its Projection.
Definition Projection.h:60
Namespace in which all modeling and calibration related code is declared.
Definition ExampleComplex2.h:16

Generated using doxygen 1.14.0