A coherency matrix parameterized by a logarithmic gain times a boost. More...

#include <ModeCoherency.h>

Inheritance diagram for MEAL::ModeCoherency:
MEAL::Wrap< Coherency > MEAL::Coherency MEAL::Complex2 MEAL::Evaluable< Jones< double > > MEAL::Function Reference::Able Reference::HeapTracked

Public Member Functions

 ModeCoherency ()
 Default constructor.
 ModeCoherency (const ModeCoherency &copy)
 Copy constructor.
ModeCoherencyoperator= (const ModeCoherency &copy)
 Assignment operator.
 ~ModeCoherency ()
 Destructor.
UnitTangentget_axis ()
 Get the model of the unit vector.
void set_axis (UnitTangent *)
 Set the model of the unit vector.
Scalarget_beta ()
 Get beta.
Scalarget_intensity ()
 Get the intensity.
virtual void set_stokes (const Stokes< double > &stokes)
 Set the Stokes parameters of the model.
virtual void set_stokes (const Stokes< Estimate< double > > &stokes)
 Set the Stokes parameters and their estimated errors.
virtual Stokes< Estimate< double > > get_stokes () const
 Get the Stokes parameters and their estimated errors.
std::string get_name () const
 Return the name of the class.
Public Member Functions inherited from MEAL::Wrap< Coherency >
void wrap (Evaluable< Result > *_model)
 Set the function to wrap.
Public Member Functions inherited from MEAL::Coherency
 Coherency ()
 Default constructor.
void set_param_name_prefix (const std::string &prefix)
 Set the prefix to each parameter name.
const std::string & get_param_name_prefix () const
Public Member Functions inherited from MEAL::Complex2
virtual Complex2clone () const
 Clone method.
Public Member Functions inherited from MEAL::Evaluable< Jones< double > >
 Evaluable ()
 Default constructor.
Evaluableoperator= (const Evaluable &copy)
 Assignment operator.
Jones< double > evaluate (std::vector< Jones< double > > *grad=0) const
 Return the Jones matrix and its gradient.
EstimateTraits< Jones< double > >::type estimate () const
 Return the Jones Estimate matrix.
Public Member Functions inherited from MEAL::Function
 Function ()
 Default constructor.
 Function (const Function &model)
 Copy constructor.
Functionoperator= (const Function &model)
 Assignment operator.
virtual ~Function ()
 Virtual destructor.
virtual void copy (const Function *model)
 Does the work for operator =.
virtual TextInterface::Parserget_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 > &param)
 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 ParameterPolicyget_parameter_policy () const
 Provide access to the parameter_policy attribute.
ParameterPolicyget_parameter_policy ()
 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.
Public Member Functions inherited from Reference::Able
 Able (const Able &)
Ableoperator= (const Able &)
unsigned get_reference_count () const
Public Member Functions inherited from Reference::HeapTracked
 HeapTracked (const HeapTracked &)
HeapTrackedoperator= (const HeapTracked &)
bool __is_on_heap () const

Protected Member Functions

void init ()
 Works for the constructors.
Protected Member Functions inherited from MEAL::Wrap< Coherency >
void calculate (Result &result, std::vector< Result > *)
 The calculate method should never be called.
Protected Member Functions inherited from MEAL::Evaluable< Jones< double > >
void copy_evaluation_policy (const Evaluable *other)
Protected Member Functions inherited from MEAL::Function
void copy_evaluation_changed (const Function &model)
 Copy the evaluation changed state of another model instance.
void copy_parameter_policy (const Function *)
 Copy the parameter policy of another instance.
void set_parameter_policy (ParameterPolicy *policy)
 Set the parameter policy.
Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
void __dereference (bool auto_delete=true) const

Protected Attributes

Reference::To< BoostUnionboost
Reference::To< UnitTangentaxis
Reference::To< ScalarParameterlog_beta
Reference::To< ScalarParameterlog_intensity
Reference::To< Scalarbeta
Reference::To< Scalarintensity
Protected Attributes inherited from MEAL::Wrap< Coherency >
Reference::To< Evaluable< Result > > model
 The wrapped function.
Protected Attributes inherited from MEAL::Coherency
std::string param_name_prefix
 Prefix added to all parameter names.
Protected Attributes inherited from MEAL::Evaluable< Jones< double > >
Reference::To< EvaluationPolicy< Jones< double > > > evaluation_policy
 The policy for managing function evaluation.
Protected Attributes inherited from MEAL::Function
Reference::To< ParameterPolicyparameter_policy
 The policy for managing function parameters.
Reference::To< ArgumentPolicyargument_policy
 The policy for managing function arguments.
bool set_parameter_policy_context
 Set the parameter policy context.
bool this_verbose
 The verbosity of this instance.

Additional Inherited Members

Public Types inherited from MEAL::Wrap< Coherency >
typedef Coherency::Result Result
 The return type of the evaluate method.
Public Types inherited from MEAL::Evaluable< Jones< double > >
typedef Jones< double > Result
 The return type of the evaluate method.
Public Types inherited from MEAL::Function
enum  Attribute { ParameterCount , Evaluation }
 Function attributes that require the attention of Composite models. More...
Static Public Member Functions inherited from MEAL::Function
template<class Model>
static Model * load (const std::string &filename)
 Construct a new Model instance from a file.
static Functionload_Function (const std::string &filename)
 Construct a new Function instance from a file.
static Functionfactory (const std::string &text)
 Construct a new Function instance from a string.
Static Public Member Functions inherited from Reference::Able
static size_t get_instance_count ()
Static Public Member Functions inherited from Reference::HeapTracked
static void * operator new (size_t size, void *ptr=0)
static void operator delete (void *location, void *ptr)
static void operator delete (void *location)
static size_t get_heap_queue_size ()
Public Attributes inherited from MEAL::Function
Callback< Attributechanged
 Callback executed when a Function Attribute has been changed.
Static Public Attributes inherited from MEAL::Complex2
static const char * Name = "Complex2"
 The name of the class.
Static Public Attributes inherited from MEAL::Evaluable< Jones< double > >
static const char * Name
 The name of the class.
Static Public Attributes inherited from MEAL::Function
static bool verbose = false
 Verbosity flag.
static bool very_verbose = false
 Low-level verbosity flag.
static bool check_zero = false
 When set, some Functions will throw an Error if they evaluate to zero.
static bool check_variance = false
 When set, some Functions will throw an Error if input variance <= 0.
static bool cache_results = false
 When set, use the Cached evaluation policy and callbacks.

Detailed Description

A coherency matrix parameterized by a logarithmic gain times a boost.

This class ensures that the result is a positive definite Hermitian Hermitian matrix by parameterizing the four degrees of freedom as:

  1. log(I), where I is the total intensity
  2. log(beta), where beta = atanh(p) and p is the degree of polarization
  3. unit 3-vector, so that orthogonal mode may be well-defined

Member Function Documentation

◆ get_name()

string MEAL::ModeCoherency::get_name ( ) const
virtual

Return the name of the class.

Reimplemented from MEAL::Coherency.

◆ get_stokes()

Stokes< Estimate< double > > MEAL::ModeCoherency::get_stokes ( ) const
virtual

Get the Stokes parameters and their estimated errors.

Set the Stokes parameters of the model.

Reimplemented from MEAL::Coherency.

References MEAL::Evaluable< Jones< double > >::estimate().

Referenced by set_stokes().

◆ set_stokes() [1/2]

void MEAL::ModeCoherency::set_stokes ( const Stokes< double > & stokes)
virtual

Set the Stokes parameters of the model.

Reimplemented from MEAL::Coherency.

References MEAL::atanh(), get_stokes(), MEAL::log(), and MEAL::sqrt().

◆ set_stokes() [2/2]

void MEAL::ModeCoherency::set_stokes ( const Stokes< Estimate< double > > & stokes)
virtual

Set the Stokes parameters and their estimated errors.

Set the Stokes parameters of the model.

Reimplemented from MEAL::Coherency.

References MEAL::atanh(), MEAL::log(), and MEAL::sqrt().


The documentation for this class was generated from the following files:

Generated using doxygen 1.14.0