lsst.astshim
21.0.0-2-g45278ab+1b62c9342b
|
Go to the documentation of this file.
22 #ifndef ASTSHIM_MAPPING_H
23 #define ASTSHIM_MAPPING_H
72 std::shared_ptr<Mapping>
copy()
const {
return std::static_pointer_cast<Mapping>(
copyPolymorphic()); }
138 std::shared_ptr<Mapping>
inverted()
const;
217 double result = astRate(
getRawPtr(),
const_cast<double *
>(at.data()), ax1, ax2);
249 AstObject *rawSimpMap =
reinterpret_cast<AstObject *
>(astSimplify(
getRawPtr()));
251 return Object::fromAstObject<Mapping>(rawSimpMap,
true);
270 _tran(from,
true, to);
280 std::vector<double>
applyForward(std::vector<double>
const &from)
const {
282 std::vector<double> to(fromArr.getSize<1>() *
getNOut());
284 _tran(fromArr,
true, toArr);
304 _tran(from,
false, to);
314 std::vector<double>
applyInverse(std::vector<double>
const &from)
const {
316 std::vector<double> to(fromArr.getSize<1>() *
getNIn());
318 _tran(fromArr,
false, toArr);
360 _tranGrid(lbnd, ubnd, tol, maxpix,
true, to);
371 _tranGrid(lbnd, ubnd, tol, maxpix,
true, to);
382 _tranGrid(lbnd, ubnd, tol, maxpix,
false, to);
392 _tranGrid(lbnd, ubnd, tol, maxpix,
false, to);
400 explicit Mapping(AstMapping *rawMap) :
Object(reinterpret_cast<AstObject *>(rawMap)) {
403 std::ostringstream os;
404 os <<
"this is a " <<
getClassName() <<
", which is not a Mapping";
405 throw std::invalid_argument(os.str());
411 return std::static_pointer_cast<Mapping>(copyImpl<Mapping, AstMapping>());
427 template <
typename Class>
443 void _tranGrid(
PointI const &lbnd,
PointI const &ubnd,
double tol,
int maxpix,
bool doForward,
Mapping & operator=(Mapping &&)=default
Mapping(Mapping &&)=default
def next(self)
Definition: fitsChanContinued.py:105
bool getB(std::string const &attrib) const
Definition: Object.h:348
Array2D tranGridForward(PointI const &lbnd, PointI const &ubnd, double tol, int maxpix, int nPts) const
Definition: Mapping.h:369
void tranGridInverse(PointI const &lbnd, PointI const &ubnd, double tol, int maxpix, Array2D const &to) const
Definition: Mapping.h:380
std::vector< int > PointI
Definition: base.h:50
std::shared_ptr< Mapping > simplified() const
Definition: Mapping.h:248
void tranGridForward(PointI const &lbnd, PointI const &ubnd, double tol, int maxpix, Array2D const &to) const
Definition: Mapping.h:358
void assertOK(AstObject *rawPtr1=nullptr, AstObject *rawPtr2=nullptr)
Definition: base.cc:49
void setB(std::string const &attrib, bool value)
Definition: Object.h:452
virtual std::shared_ptr< Object > copyPolymorphic() const override
Definition: Mapping.h:410
SeriesMap then(Mapping const &next) const
Definition: Mapping.cc:37
std::shared_ptr< Class > decompose(int i, bool copy) const
Definition: Mapping.cc:64
void applyInverse(ConstArray2D const &from, Array2D const &to) const
Definition: Mapping.h:294
int getNOut() const
Definition: Mapping.h:82
std::vector< double > applyForward(std::vector< double > const &from) const
Definition: Mapping.h:280
std::vector< double > applyInverse(std::vector< double > const &from) const
Definition: Mapping.h:314
bool hasInverse() const
Definition: Mapping.h:123
ParallelMap under(Mapping const &next) const
Definition: Mapping.cc:39
Array2D linearApprox(PointD const &lbnd, PointD const &ubnd, double tol) const
Definition: Mapping.cc:49
Mapping(Mapping const &)=default
Copy constructor: make a deep copy.
Definition: SeriesMap.h:53
bool hasForward() const
Definition: Mapping.h:114
double rate(PointD const &at, int ax1, int ax2) const
Definition: Mapping.h:215
bool isInverted() const
Definition: Mapping.h:95
std::string getClassName() const
Definition: Object.h:139
int getI(std::string const &attrib) const
Definition: Object.h:400
ndarray::Array< double, 2, 2 > Array2D
Definition: base.h:42
Mapping(AstMapping *rawMap)
Definition: Mapping.h:400
Mapping & operator=(Mapping const &)=delete
virtual ~Mapping()
Definition: Mapping.h:63
Array2D tranGridInverse(PointI const &lbnd, PointI const &ubnd, double tol, int maxpix, int nPts) const
Definition: Mapping.h:390
void applyForward(ConstArray2D const &from, Array2D const &to) const
Definition: Mapping.h:260
Array2D applyInverse(ConstArray2D const &from) const
Definition: Mapping.h:302
std::shared_ptr< Mapping > copy() const
Return a deep copy of this object.
Definition: Mapping.h:72
std::shared_ptr< Mapping > inverted() const
Definition: Mapping.cc:41
void setReport(bool report)
Definition: Mapping.h:225
AST wrapper classes and functions.
Definition: attributes_channel.dox:1
int getNIn() const
Definition: Mapping.h:77
bool getReport() const
Definition: Mapping.h:105
bool getIsLinear() const
Definition: Mapping.h:100
ConstArray2D arrayFromVector(std::vector< double > const &vec, int nAxes)
Definition: base.cc:65
std::vector< double > PointD
Definition: base.h:57
Definition: ParallelMap.h:53
AstObject const * getRawPtr() const
Definition: Object.h:292
bool getIsSimple() const
Definition: Mapping.h:87
Array2D applyForward(ConstArray2D const &from) const
Definition: Mapping.h:268
void assertEqual(T1 val1, std::string const &descr1, T2 val2, std::string const &descr2)
Definition: utils.h:48
ndarray::Array< const double, 2, 2 > ConstArray2D
Definition: base.h:46