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 #include "MEAL/Complex2.h"
15 #include "MEAL/Composite.h"
16 
17 #include "Vector.h"
18 
19 namespace MEAL {
20 
22 
24  class BoostUnion : public Complex2 {
25 
26  public:
27 
28  BoostUnion ();
29 
31  void set_axis (Evaluable< Vector<3,double> >*);
32 
35 
37  Vector<3, double> get_axis () const;
38 
40  double get_beta () const;
41 
42  // ///////////////////////////////////////////////////////////////////
43  //
44  // Function implementation
45  //
46  // ///////////////////////////////////////////////////////////////////
47 
49  std::string get_name () const;
50 
51  protected:
52 
54  void calculate (Jones<double>& result, std::vector<Jones<double> >*);
55 
58 
61 
64 
65  };
66 
67 }
68 
69 #endif
const ScalarMath sinh(const ScalarMath &x)
Return a ScalarMath instance representing sinh(x)
Definition: ScalarMath.C:184
std::string get_name() const
Return the name of the class.
Definition: BoostUnion.C:19
Template base class of functions with an evaluate method.
Definition: Evaluable.h:35
Parameter policy for composite functions.
Definition: Composite.h:25
void set_axis(Evaluable< Vector< 3, double > > *)
Set the model that defines the unit vector.
Definition: BoostUnion.C:25
Project< Evaluable< Vector< 3, double > > > axis
The model that defines the axis.
Definition: BoostUnion.h:67
Vector< 3, double > get_axis() const
Get the unit-vector along which the boost occurs.
Definition: BoostUnion.C:47
Namespace in which all modeling and calibration related code is declared.
Definition: ExampleComplex2.h:16
const ScalarMath cosh(const ScalarMath &x)
Return a ScalarMath instance representing cosh(x)
Definition: ScalarMath.C:192
double get_beta() const
Get the boost parameter, beta.
Definition: BoostUnion.C:56
void set_beta(Evaluable< double > *)
Set the model that defines the boost parameter.
Definition: BoostUnion.C:36
void calculate(Jones< double > &result, std::vector< Jones< double > > *)
Calculate the Jones matrix and its gradient.
Definition: BoostUnion.C:66
Composite composite
Composite parameter policy.
Definition: BoostUnion.h:73
Template combines a reference to a Component and its Projection.
Definition: Projection.h:65
Project< Evaluable< double > > beta
The boost parameter.
Definition: BoostUnion.h:70

Generated using doxygen 1.8.17