VelocityModel.h
1/***************************************************************************
2 *
3 * Copyright (C) 2005 by Stephen Ord
4 * Licensed under the Academic Free License version 2.1
5 *
6 ***************************************************************************/
7//-*
8#ifndef __VELOCITYMODEL
9#define __VELOCITYMODEL
10
11#include "MEAL/Univariate.h"
12#include "MEAL/Scalar.h"
13#include "MEAL/Parameters.h"
14
15#include <vector>
16
17namespace MEAL {
18
19 class VelocityModel : public Univariate<Scalar> {
20
21 public:
22
23
24 VelocityModel();
25
27 void set_scaling(double scaling);
28
29 double get_scaling () const;
30
32 void set_vpar(double vpar);
33
34 double get_vpar () const;
35
37 void set_vperp(double vperp);
38
39 double get_vperp () const;
40
42 void set_incl(double inclination);
43
44 double get_incl() const;
45
47 void set_omega(double omega);
48
49 double get_omega() const;
50
52 void set_ecc(double eccentricity);
53
54 double get_ecc() const;
55
57 void set_pb(double period);
58
59 double get_pb() const;
60
62 void set_a(double a);
63
64 double get_a() const;
65
66 std::string get_name () const;
67
68 ~VelocityModel();
69
70 protected:
71
72 void calculate (double& x, std::vector<double>* grad=0);
73
75
76 void calculate_velocities(double phase_angle, double& theta_velocity, double& radial_velocity);
77
78
79 Parameters parameters;
80
81 };
82}
83
84#endif
85
virtual std::string get_name() const =0
Return the name of the class.
Abstract template base class of univariate Function implementations.
Definition Univariate.h:23
Namespace in which all modeling and calibration related code is declared.
Definition ExampleComplex2.h:16

Generated using doxygen 1.14.0