|
std::string | get_name () const |
| Return the name of the class.
|
|
void | set_vector (Vector< 3, double > direction) |
| Set the direction of the unit vector.
|
|
void | set_vector (const Vector< 3, Estimate< double > > &direction) |
| Set the direction of the unit vector with error.
|
|
Vector< 3, double > | get_basis (unsigned i) |
| Get the basis vector.
|
|
| Evaluable () |
| Default constructor.
|
|
| Evaluable (const Evaluable ©) |
| Copy constructor.
|
|
Evaluable & | operator= (const Evaluable ©) |
| Assignment operator.
|
|
Vector< 3, double > | evaluate (std::vector< Vector< 3, double > > *grad=0) const |
| Return the Jones matrix and its gradient.
|
|
EstimateTraits< Vector< 3, double > >::type | estimate () const |
| Return the Jones Estimate matrix.
|
|
| Function () |
| Default constructor.
|
|
| Function (const Function &model) |
| Copy constructor.
|
|
Function & | operator= (const Function &model) |
| Assignment operator.
|
|
virtual | ~Function () |
| Virtual destructor.
|
|
virtual Function * | clone () const |
| Clone.
|
|
virtual void | copy (const Function *model) |
| Does the work for operator =.
|
|
virtual TextInterface::Parser * | get_interface () |
| Return a text interface that can be used to access this instance.
|
|
virtual void | parse (const std::string &text) |
| Parses the values of model parameters and fit flags from a string.
|
|
virtual void | print (std::string &text) const |
| Prints the values of model parameters and fit flags to a string.
|
|
virtual std::string | get_description () const |
| Return the description of the class.
|
|
unsigned | get_nparam () const |
| Return the number of parameters.
|
|
std::string | get_param_name (unsigned index) const |
| Return the name of the specified parameter.
|
|
std::string | get_param_description (unsigned index) const |
| Return the description of the specified parameter.
|
|
double | get_param (unsigned index) const |
| Return the value of the specified parameter.
|
|
void | set_param (unsigned index, double value) |
| Set the value of the specified parameter.
|
|
double | get_variance (unsigned index) const |
| Return the variance of the specified parameter.
|
|
void | set_variance (unsigned index, double value) |
| Set the variance of the specified parameter.
|
|
bool | get_infit (unsigned index) const |
| Return true if parameter at index is to be fitted.
|
|
void | set_infit (unsigned index, bool flag) |
| Set flag for parameter at index to be fitted.
|
|
void | set_argument (unsigned dimension, Argument *axis) |
| Set the independent variable of the specified dimension.
|
|
Estimate< double > | get_Estimate (unsigned index) const |
| Return an Estimate of the specified parameter.
|
|
void | set_Estimate (unsigned index, const Estimate< double > ¶m) |
| Set the Estimate of the specified parameter.
|
|
void | set_verbose (bool) |
| Set the verbosity of this instance.
|
|
bool | get_verbose () const |
| Get the verbosity of this instance.
|
|
void | set_evaluation_changed (bool _changed=true) |
| Set true if the Function evaluation has changed.
|
|
bool | get_evaluation_changed () const |
| Return true if the Function evaluation has changed.
|
|
const ParameterPolicy * | get_parameter_policy () const |
| Provide access to the parameter_policy attribute.
|
|
bool | has_parameter_policy () const |
| Some wrappers may not have a parameter policy.
|
|
virtual void | print_parameters (std::string &text, const std::string &separator) const |
| Prints the values of model parameters and fit flags to a string.
|
|
| Able (const Able &) |
|
Able & | operator= (const Able &) |
|
unsigned | get_reference_count () const |
|
| HeapTracked (const HeapTracked &) |
|
HeapTracked & | operator= (const HeapTracked &) |
|
bool | __is_on_heap () const |
|
Represents a unit vector in three-dimensional space.
This model of a unit vector solves the gimbal lock issue by redefining the basis as it moves. At any point, the coordinates of the vector are defined by (0,0). A step in the any of the two possible directions is defined as a step in the plane that is tangent to the unit sphere.
After such a step, when the evaluate method is called, the vector is renormalized, the unit vectors in the tangent plane are redefined, and the coordinates are reset to (0,0).
When choosing the new unit vectors in the tangent plane, the direction to the most distant axis (in Cartesian coordinates) is used to define the first direction.
Note that, in this representation, it is impossible to rotate the unit vector by more than 90 degrees in one step. This should also provide some stability during modelling.