Models a set of transformations and source polarizations. More...

#include <ReceptionModel.h>

Inheritance diagram for Calibration::ReceptionModel:
Calibration::MeasurementEquation MEAL::Complex2 MEAL::Evaluable< Jones< double > > MEAL::Function Reference::Able Reference::HeapTracked

Classes

class  Report
 Base class of objects that report on properties of the measurement equation. More...
class  Solver
 Solve the measurement equation by non-linear least squares minimization. More...

Public Member Functions

 ReceptionModel ()
 null constructor
 ~ReceptionModel ()
 destructor
virtual void add_data (CoherencyMeasurementSet &data)
 Checks that each CoherencyMeasurement has a valid source_index.
unsigned get_ndata () const
 Get the number of CoherencyMeasurementSet.
const CoherencyMeasurementSetget_data (unsigned idata) const
 Get the specified CoherencyMeasurementSet.
void delete_data ()
 Delete all data.
void erase_input (unsigned index) override
 Remove the specified input from the model and update all measurements.
void erase_transformation (unsigned index) override
 Remove the specified transformation from the model and update all measurements.
void add_prefit_report (Report *)
 Add a report to be executed before solving the measurement equation.
void add_postfit_report (Report *)
 Add a report to be executed after solving the measurement equation.
void set_solver (Solver *)
 Set the algorithm used to solve the measurement equation.
Solverget_solver ()
 Get the algorithm used to solve the measurement equation.
const Solverget_solver () const
 Get the algorithm used to solve the measurement equation.
void solve ()
 Solve the measurement equation using the current algorithm.
bool get_solved () const
 Return true when solved.
void copy_fit (const ReceptionModel *)
 Copy the fitted parameters from another model.
std::string get_name () const
 Return the name of the class.
Public Member Functions inherited from Calibration::MeasurementEquation
 MeasurementEquation ()
 Default constructor.
 ~MeasurementEquation ()
 Destructor.
virtual void set_input (Complex2 *state)
 Set the input, $ \rho_j $, where $ j $ = get_input_index.
virtual void add_input (Complex2 *state=0)
 Add an input, $ \rho_N $, where $ N $ = get_num_input.
Complex2 * get_input ()
 Get the current input.
unsigned get_num_input () const
 Get the number of input states.
unsigned get_input_index () const
 Get the input index, $ j $.
void set_input_index (unsigned index)
 Set the input index, $ j $.
virtual void set_transformation (Complex2 *xform)
 Set the transformation, $J_i$,where $i$=get_transformation_index.
virtual void add_transformation (Complex2 *xform=0)
 Add a transformation, $J_P$, where $P$ = get_num_transformation.
virtual void set_transformation (MEAL::Real4 *xform)
 Set the transformation, $M_i$,where $i$=get_transformation_index.
virtual void add_transformation (MEAL::Real4 *xform=0)
 Add a transformation, $M_P$, where $P$ = get_num_transformation.
MEAL::Transformation< Complex2 > * get_transformation ()
 Get the current transformation.
unsigned get_num_transformation () const
 Get the number of transformation states.
unsigned get_transformation_index () const
 Get the transformation index, $ i $.
void set_transformation_index (unsigned index)
 Set the transformation index, $ i $.
Public Member Functions inherited from MEAL::Complex2
virtual Complex2clone () const
Public Member Functions inherited from MEAL::Evaluable< Jones< double > >
Evaluableoperator= (const Evaluable &copy)
evaluate (std::vector< T > *grad=0) const
EstimateTraits< T >::type estimate () const
Public Member Functions inherited from MEAL::Function
 Function (const Function &model)
Functionoperator= (const Function &model)
virtual void copy (const Function *model)
virtual TextInterface::Parserget_interface ()
virtual void parse (const std::string &text)
virtual void print (std::string &text) const
virtual std::string get_description () const
unsigned get_nparam () const
std::string get_param_name (unsigned index) const
std::string get_param_description (unsigned index) const
double get_param (unsigned index) const
void set_param (unsigned index, double value)
double get_variance (unsigned index) const
void set_variance (unsigned index, double value)
bool get_infit (unsigned index) const
void set_infit (unsigned index, bool flag)
void set_argument (unsigned dimension, Argument *axis)
Estimate< double > get_Estimate (unsigned index) const
void set_Estimate (unsigned index, const Estimate< double > &param)
void set_verbose (bool)
bool get_verbose () const
void set_evaluation_changed (bool _changed=true)
bool get_evaluation_changed () const
const ParameterPolicyget_parameter_policy () const
ParameterPolicyget_parameter_policy ()
bool has_parameter_policy () const
virtual void print_parameters (std::string &text, const std::string &separator) const
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

Static Public Member Functions

static Solvernew_default_Solver ()
 Returns a new instance of the default Solver algorithm.
Static Public Member Functions inherited from MEAL::Function
static Model * load (const std::string &filename)
static Functionload_Function (const std::string &filename)
static Functionfactory (const std::string &text)
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 ()

Protected Member Functions

void range_check (unsigned idata, const char *method) const
 Ensure that idata <= get_ndata()
Protected Member Functions inherited from Calibration::MeasurementEquation
void calculate (Jones< double > &result, std::vector< Jones< double > > *)
 Returns $ \rho^\prime $ and its gradient.
MEAL::Transformation< Complex2 > * new_transformation (Complex2 *)
 Construct new integrated instance of CongruenceTransformation.
MEAL::Transformation< Complex2 > * new_transformation (MEAL::Real4 *)
 Construct new integrated instance of MuellerTransformation.
Protected Member Functions inherited from MEAL::Evaluable< Jones< double > >
virtual void calculate (T &result, std::vector< T > *)=0
Protected Member Functions inherited from MEAL::Function
void copy_evaluation_changed (const Function &model)
void copy_parameter_policy (const Function *)
void set_parameter_policy (ParameterPolicy *policy)
Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
void __dereference (bool auto_delete=true) const

Protected Attributes

Reference::To< Solversolver
 The algorithm used to solve the measurement equation.
std::vector< Reference::To< Report > > prefit_reports
 Reports to run before solving.
std::vector< Reference::To< Report > > postfit_reports
 Reports to run after solving.
Protected Attributes inherited from Calibration::MeasurementEquation
MEAL::Composite composite
 Composite parameter policy.
MEAL::VectorRule< MEAL::Complex2inputs
 The inputs, $ \rho_j $.
MEAL::VectorRule< MEAL::Transformation< MEAL::Complex2 > > xforms
 The transformations, $ J_i $ and $ M_k $.
Protected Attributes inherited from MEAL::Evaluable< Jones< double > >
Reference::To< EvaluationPolicy< T > > evaluation_policy
Protected Attributes inherited from MEAL::Function
Reference::To< ParameterPolicyparameter_policy
Reference::To< ArgumentPolicyargument_policy
bool set_parameter_policy_context
bool this_verbose

Friends

class Solver
 Provide Solver class with acces to data.

Additional Inherited Members

Public Types inherited from MEAL::Evaluable< Jones< double > >
typedef T Result
Public Types inherited from MEAL::Function
enum  Attribute
Public Attributes inherited from MEAL::Function
 ParameterCount
 Evaluation
Callback< Attributechanged
Static Public Attributes inherited from MEAL::Complex2
static const char * Name
Static Public Attributes inherited from MEAL::Evaluable< Jones< double > >
static const char * Name
Static Public Attributes inherited from MEAL::Function
static bool verbose
static bool very_verbose
static bool check_zero
static bool check_variance
static bool cache_results

Detailed Description

Models a set of transformations and source polarizations.

This class models the output polarization of an arbitrary number of both input polarization states and signal paths. Each signal path is represented by a MeasurementEquation.

Member Function Documentation

◆ add_data()

◆ erase_input()

void Calibration::ReceptionModel::erase_input ( unsigned index)
overridevirtual

Remove the specified input from the model and update all measurements.

Reimplemented from Calibration::MeasurementEquation.

References Calibration::MeasurementEquation::erase_input().

Referenced by Calibration::ReceptionModel::Solver::check_inputs().

◆ erase_transformation()

void Calibration::ReceptionModel::erase_transformation ( unsigned index)
overridevirtual

Remove the specified transformation from the model and update all measurements.

Reimplemented from Calibration::MeasurementEquation.

References Calibration::MeasurementEquation::erase_transformation().

Referenced by Calibration::ReceptionModel::Solver::check_transformations().

◆ get_name()

string Calibration::ReceptionModel::get_name ( ) const
virtual

Return the name of the class.

Implements MEAL::Function.


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

Generated using doxygen 1.14.0