LSSTApplications
18.1.0
LSSTDataManagementBasePackage
|
Functions | |
template<class AstMapT , class MapT > | |
AstMapT * | polyTranImpl (MapT const &mapping, bool forward, double acc, double maxacc, int maxorder, std::vector< double > const &lbnd, std::vector< double > const &ubnd) |
Call astPolyTran to set (or replace) one direction of a polynomial transform with a fit based on the other direction. More... | |
FrameDict | makeFrameDict (FrameSet const &frameSet) |
Make a FrameDict from a copy of a FrameSet. More... | |
void | annulAstObject (AstObject *object) |
A wrapper around astAnnul; intended as a custom deleter for std::unique_ptr. More... | |
template<typename T1 , typename T2 > | |
void | assertEqual (T1 val1, std::string const &descr1, T2 val2, std::string const &descr2) |
void | astBadToNan (std::vector< double > &p) |
Replace AST__BAD with a quiet NaN in a vector. More... | |
void | astBadToNan (ast::Array2D const &arr) |
Replace AST__BAD with a quiet NaN in a 2-D array. More... | |
std::string | formatAxisAttr (std::string const &name, int axis) |
Format an axis-specific attribute by appending the axis index. More... | |
bool | isSeries (AstCmpMap const *cmpMap) |
Return true if the compound map is in series. More... | |
std::string | getClassName (AstObject const *rawObj) |
Get the AST class name, changing CmpMap to SeriesMap or ParallelMap as appropriate. More... | |
double | safeDouble (double val) |
Return a double value after checking status and replacing AST__BAD with nan More... | |
std::string | stringToUpper (std::string const &str) |
Return a copy of a string in which all characters are uppercase. More... | |
const char * | source () |
Source function that allows astChannel to source from a Stream. More... | |
void | sink (const char *cstr) |
Sink function that allows astChannel to sink to a Stream. More... | |
template AstChebyMap * | polyTranImpl< AstChebyMap > (ChebyMap const &, bool, double, double, int, std::vector< double > const &, std::vector< double > const &) |
template AstPolyMap * | polyTranImpl< AstPolyMap > (PolyMap const &, bool, double, double, int, std::vector< double > const &, std::vector< double > const &) |
|
inline |
A wrapper around astAnnul; intended as a custom deleter for std::unique_ptr.
Definition at line 40 of file utils.h.
|
inline |
|
inline |
void ast::detail::astBadToNan | ( | ast::Array2D const & | arr | ) |
|
inline |
std::string ast::detail::getClassName | ( | AstObject const * | rawObj | ) |
Get the AST class name, changing CmpMap to SeriesMap or ParallelMap as appropriate.
[in] | rawObj | Raw AST object pointer |
Definition at line 37 of file utils.cc.
bool ast::detail::isSeries | ( | AstCmpMap const * | cmpMap | ) |
Return true if the compound map is in series.
Definition at line 47 of file utils.cc.
AstMapT * ast::detail::polyTranImpl | ( | MapT const & | mapping, |
bool | forward, | ||
double | acc, | ||
double | maxacc, | ||
int | maxorder, | ||
std::vector< double > const & | lbnd, | ||
std::vector< double > const & | ubnd | ||
) |
Call astPolyTran to set (or replace) one direction of a polynomial transform with a fit based on the other direction.
AstMapT | AST mapping class: one of AstChebyMap or AstPolyMap |
MapT | Corresponding astshim class: one of ast::ChebyMap or ast::PolyMap; this template parameter is second because it can always be deduced. |
[in] | mapping | |
[in] | forward | If true the forward transformation is replaced. Otherwise the inverse transformation is replaced. |
[in] | acc | The target accuracy, expressed as a geodesic distance within the ChebyMap's input space (if forward is false) or output space (if forward is true). |
[in] | maxacc | The maximum allowed accuracy for an acceptable polynomial, expressed as a geodesic distance within the ChebyMap's input space (if forward is false) or output space (if forward is true). |
[in] | maxorder | The maximum allowed polynomial order. This is one more than the maximum power of either input axis. So for instance, a value of 3 refers to a quadratic polynomial. Note, cross terms with total powers greater than or equal to maxorder are not inlcuded in the fit. So the maximum number of terms in each of the fitted polynomials is maxorder*(maxorder + 1)/2. |
[in] | lbnd | A vector holding the lower bounds of a rectangular region within the ChebyMap's input space (if forward is false) or output space (if forward is true). The new polynomial will be evaluated over this rectangle. The length should equal getNIn() or getNOut(), depending on forward . |
[in] | ubnd | A vector holding the upper bounds of a rectangular region within the ChebyMap's input space (if forward is false) or output space (if forward is true). The new polynomial will be evaluated over this rectangle. The length should equal getNIn() or getNOut(), depending on forward . |
std::invalid_argument | if the size of lbnd or ubnd does not match getNIn() (if forward false) or getNOut() (if forward true). |
Definition at line 30 of file polyMapUtils.cc.
template AstChebyMap* ast::detail::polyTranImpl< AstChebyMap > | ( | ChebyMap const & | , |
bool | , | ||
double | , | ||
double | , | ||
int | , | ||
std::vector< double > const & | , | ||
std::vector< double > const & | |||
) |
template AstPolyMap* ast::detail::polyTranImpl< AstPolyMap > | ( | PolyMap const & | , |
bool | , | ||
double | , | ||
double | , | ||
int | , | ||
std::vector< double > const & | , | ||
std::vector< double > const & | |||
) |
|
inline |
Return a double value after checking status and replacing AST__BAD
with nan
Definition at line 100 of file utils.h.
|
inline |
|
inline |
|
inline |