casa
$Rev:20696$
|
This class updates components in UV plane. More...
#include <ComponentUpdate.h>
Public Member Functions | |
ComponentUpdate () | |
Default constructor -- update not possible without one or more set() methods. | |
ComponentUpdate (const ComponentList &model) | |
Construct an update machine for the sources in the given ComponentList, using the 'separate' type of solution, and ILM solve. | |
ComponentUpdate (const ComponentList &model, const ComponentUpdate::Solve solve) | |
Construct an update machine for the sources in the given ComponentList, using the specified sovables and the separate type. | |
ComponentUpdate (const ComponentList &model, const ComponentUpdate::Solve solve, const ComponentUpdate::Type tp) | |
Construct an update machine for the sources in the given ComponentList, using the specified type of solution and solvables. | |
~ComponentUpdate () | |
Destructor. | |
void | makeEquations (const Array< DComplex > &deriv, const Vector< DComplex > &data) |
Create the solution equations. | |
Bool | solve (Matrix< Double > &sol, Matrix< Double > &err) |
Provide the solution (i.e. | |
Private Types | |
enum | Type { SEPARATE, COMBINED, CLUSTER, N_Type } |
The different solution types. More... | |
enum | Solve { ILM, N_Solve } |
The different solvable parameters. More... | |
Private Member Functions | |
ComponentUpdate (const ComponentUpdate &other) | |
Copy constructor (not implemented) | |
ComponentUpdate & | operator= (const ComponentUpdate &other) |
Assignment (not implemented) | |
void | init () |
Initialise the list of fitting areas. | |
void | clean () |
Empty the list of fitting areas. | |
Private Attributes | |
ComponentUpdate::Type | soltp_p |
Type of solution. | |
ComponentUpdate::Solve | solve_p |
Solvable parameters. | |
Int | nmodel_p |
Number of sources to fit. | |
Double * | dt_p |
Work area for expression data. | |
ComponentList | complist_p |
Component list to solve (note: a pointer to it) | |
PtrBlock< LSQaips * > | fit_p |
List of solution fitting areas. | |
Static Private Attributes | |
static const Int | N_unknown [N_Solve] |
List of number of unknowns for solvables. |
This class updates components in UV plane.
Public interface
<h3>Review Status</h3><dl><dt>Date Reviewed:<dd>yyyy/mm/dd</dl>
Component and Update
This class is an update machine for model components. The updating is done using UV-plane information (and, of course, already available calibration information). In principle all the elements of a component can be updated (like polarisation flux, position, etc), but certain combinations are more useful (and orthogonal enough) to be of practical use.
The update process works by comparing the theoretical UV-plane expectations of a model component, with the actual UV-plane data, and solve, in the least-squares sense) for the component data elements. In practice the full nodel sky, as known, is subtracted from the observed data, after which the solution for for differnces is done. This solution can proceed in a variety of ways:
Non-component sky models (like images) could be adjusted for their overall parameters (integrated flux, position) as well. This could be added at a later stage.
Not all of the different possibilities and adjustable parameters will be implemented initially.
To provide an accurate way to adjust model component parameters from the observed data, using all the available data.
Definition at line 109 of file ComponentUpdate.h.
enum casa::ComponentUpdate::Solve [private] |
The different solvable parameters.
Definition at line 122 of file ComponentUpdate.h.
enum casa::ComponentUpdate::Type [private] |
The different solution types.
SEPARATE |
Sove each source individually. |
COMBINED |
Slove in one solution. |
CLUSTER |
Solve in clusters of sources. |
N_Type |
Number of options. |
Definition at line 111 of file ComponentUpdate.h.
Default constructor -- update not possible without one or more set() methods.
casa::ComponentUpdate::ComponentUpdate | ( | const ComponentList & | model | ) | [explicit] |
Construct an update machine for the sources in the given ComponentList, using the 'separate' type of solution, and ILM solve.
Note that the component list must be a writable one to receive the updates.
casa::ComponentUpdate::ComponentUpdate | ( | const ComponentList & | model, |
const ComponentUpdate::Solve | solve | ||
) |
Construct an update machine for the sources in the given ComponentList, using the specified sovables and the separate type.
casa::ComponentUpdate::ComponentUpdate | ( | const ComponentList & | model, |
const ComponentUpdate::Solve | solve, | ||
const ComponentUpdate::Type | tp | ||
) |
Construct an update machine for the sources in the given ComponentList, using the specified type of solution and solvables.
Destructor.
casa::ComponentUpdate::ComponentUpdate | ( | const ComponentUpdate & | other | ) | [private] |
Copy constructor (not implemented)
void casa::ComponentUpdate::clean | ( | ) | [private] |
Empty the list of fitting areas.
void casa::ComponentUpdate::init | ( | ) | [private] |
Initialise the list of fitting areas.
void casa::ComponentUpdate::makeEquations | ( | const Array< DComplex > & | deriv, |
const Vector< DComplex > & | data | ||
) |
Create the solution equations.
For each series of UV points, provide the following information to the engine (we can speed it up later by having raw rather than Array type interface). Needed:
Extra arguments possible: data weight.
Extra calls: Just provide list of data (and weight) and UVW coordinates. Calls to some Skymodel.visibility() and/or .derivative() would then suffice.
Improvements, by providing telescope rather than baseline based data; proper care taken analytically of integration over time and frequency.
ComponentUpdate& casa::ComponentUpdate::operator= | ( | const ComponentUpdate & | other | ) | [private] |
Assignment (not implemented)
Provide the solution (i.e.
dI/I and dl, dm) with errors (standard deviation of solution). The Matrices filled (and resized) are of sizes 3,nsource.
Component list to solve (note: a pointer to it)
Definition at line 192 of file ComponentUpdate.h.
Double* casa::ComponentUpdate::dt_p [private] |
Work area for expression data.
Definition at line 190 of file ComponentUpdate.h.
PtrBlock<LSQaips *> casa::ComponentUpdate::fit_p [private] |
List of solution fitting areas.
Definition at line 194 of file ComponentUpdate.h.
const Int casa::ComponentUpdate::N_unknown[N_Solve] [static, private] |
List of number of unknowns for solvables.
Definition at line 182 of file ComponentUpdate.h.
Int casa::ComponentUpdate::nmodel_p [private] |
Number of sources to fit.
Definition at line 188 of file ComponentUpdate.h.
Type of solution.
Definition at line 184 of file ComponentUpdate.h.
Solvable parameters.
Definition at line 186 of file ComponentUpdate.h.