|
| | Parm (ParmCache &, const std::string &name) |
| |
| | Parm (ParmCache &, ParmId parmid) |
| | Construct the object for the given parmid. More...
|
| |
| void | calcPerturbations () |
| | Calculate the perturbations. More...
|
| |
| std::vector< double > | getCoeff (const Grid::Location &, bool useMask=true) |
| |
| unsigned int | getCoeffSize (bool useMask=true) |
| | Get the nr of coefficients. More...
|
| |
| std::vector< double > | getErrors (const Grid::Location &, bool useMask=true) |
| |
| double | getPerturbation (unsigned int index) |
| | Get a particular perturbation. More...
|
| |
| const std::vector< double > & | getPerturbations () const |
| |
| void | getResult (casacore::Array< double > &result, const Grid &predictGrid, bool emptyResult=false) |
| |
| void | getResult (std::vector< casacore::Array< double >> &result, const Grid &predictGrid, bool perturb) |
| |
| void | revertCoeff () |
| |
| void | setCoeff (const Grid::Location &, const double *values, unsigned int nvalues, const double *errors=nullptr, bool useMask=true) |
| |
| void | setSolveGrid (const Grid &solveGrid) |
| |
|
| static std::vector< double > | copyValues (const casacore::Array< double > &values, const casacore::Array< bool > &mask, bool useMask) |
| | Form the vector from values and mask. More...
|
| |
| static void | fillArrayPV (double *resData, int nrx, int stx, int sty, int endx, int endy, const double *data, const ParmValue &pval, const Grid &predictGrid) |
| | Fill the result array partially for a single ParmValue. More...
|
| |
| static void | getResultCoeff (casacore::Array< double > *resultVec, const Grid &predictGrid, const ParmValueSet &pvset, const std::vector< double > &perturbations, AxisMappingCache &axisMappingCache) |
| | Evaluate the result for funklet coefficients. More...
|
| |
| static void | getResultScalar (casacore::Array< double > &result, casacore::Array< double > *errors, const Grid &predictGrid, const ParmValueSet &pvset, AxisMappingCache &axisMappingCache) |
| |
| static void | getResultScalar (casacore::Array< double > &result, const Grid &predictGrid, const ParmValue &pval, AxisMappingCache &axisMappingCache) |
| | Get the result for a single ParmValue with an array of scalars. More...
|
| |
Class giving access to a parameter.
Parm makes it possible to get the parameter values for a given predict domain. It uses a ParmCache to cache parameters for a work domain. If a parameter is solvable, the solve grid must have been set before getting the values and perturbed values. For solvable parameters it is also possible to get or set the coefficients for each cell in the solve grid. Parameter values are read from the ParmDB tables. If there are no values for a parameter/domain, the appropriate value from the subtable with default values is used. However, for a solvable parameter, the value of the previous solve domain is used as long as that solve domain is part of the work domain. Thus for a given work domain, the first solve domain uses the default values, while the next domains use the values of the previous domains.
| void dp3::parmdb::Parm::getResult |
( |
casacore::Array< double > & |
result, |
|
|
const Grid & |
predictGrid, |
|
|
bool |
emptyResult = false |
|
) |
| |
Get the result for the given grid. No perturbed values are calculated. Normally the result has the same shape as the predict grid. However, if there is a single constant value, it has shape [1,1]. In the future it might also get shape[nx,1] or [1,ny] in case the values are constant in y or x.
The array will be resized if needed. Note that it is possible to first create a correctly sized MeqMatrix and create the Array from its raw storage. In that way the Array data does not need to be copied to the MeqMatrix.
The argumentemptyResult tells if an empty result can be returned. Normally this is not the case (otherwise a default would not be picked up), but in case of ParmFacade it is used.