lsst.astshim
19.0.0-3-ge74d124
|
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,
std::vector< double > applyForward(std::vector< double > const &from) const
Definition: Mapping.h:280
void applyInverse(ConstArray2D const &from, Array2D const &to) const
Definition: Mapping.h:294
SeriesMap then(Mapping const &next) const
Definition: Mapping.cc:37
bool hasForward() const
Definition: Mapping.h:114
std::shared_ptr< Class > decompose(int i, bool copy) const
Definition: Mapping.cc:64
std::vector< int > PointI
Definition: base.h:50
ParallelMap under(Mapping const &next) const
Definition: Mapping.cc:39
void assertOK(AstObject *rawPtr1=nullptr, AstObject *rawPtr2=nullptr)
Definition: base.cc:49
void applyForward(ConstArray2D const &from, Array2D const &to) const
Definition: Mapping.h:260
std::string getClassName() const
Definition: Object.h:139
Array2D tranGridInverse(PointI const &lbnd, PointI const &ubnd, double tol, int maxpix, int nPts) const
Definition: Mapping.h:390
def next(self)
Definition: fitsChanContinued.py:105
std::shared_ptr< Mapping > simplified() const
Definition: Mapping.h:248
bool getIsLinear() const
Definition: Mapping.h:100
Array2D tranGridForward(PointI const &lbnd, PointI const &ubnd, double tol, int maxpix, int nPts) const
Definition: Mapping.h:369
Mapping(Mapping &&)=default
std::shared_ptr< Mapping > copy() const
Return a deep copy of this object.
Definition: Mapping.h:72
void tranGridForward(PointI const &lbnd, PointI const &ubnd, double tol, int maxpix, Array2D const &to) const
Definition: Mapping.h:358
Array2D applyInverse(ConstArray2D const &from) const
Definition: Mapping.h:302
void tranGridInverse(PointI const &lbnd, PointI const &ubnd, double tol, int maxpix, Array2D const &to) const
Definition: Mapping.h:380
AstObject const * getRawPtr() const
Definition: Object.h:292
Mapping & operator=(Mapping const &)=delete
void setReport(bool report)
Definition: Mapping.h:225
virtual ~Mapping()
Definition: Mapping.h:63
Definition: SeriesMap.h:53
void setB(std::string const &attrib, bool value)
Definition: Object.h:452
Definition: ParallelMap.h:53
ndarray::Array< double, 2, 2 > Array2D
Definition: base.h:42
bool getB(std::string const &attrib) const
Definition: Object.h:348
bool getIsSimple() const
Definition: Mapping.h:87
Mapping & operator=(Mapping &&)=default
bool getReport() const
Definition: Mapping.h:105
double rate(PointD const &at, int ax1, int ax2) const
Definition: Mapping.h:215
int getI(std::string const &attrib) const
Definition: Object.h:400
AST wrapper classes and functions.
Definition: attributes_channel.dox:1
Mapping(AstMapping *rawMap)
Definition: Mapping.h:400
ConstArray2D arrayFromVector(std::vector< double > const &vec, int nAxes)
Definition: base.cc:65
std::vector< double > PointD
Definition: base.h:57
virtual std::shared_ptr< Object > copyPolymorphic() const override
Definition: Mapping.h:410
bool isInverted() const
Definition: Mapping.h:95
int getNOut() const
Definition: Mapping.h:82
void assertEqual(T1 val1, std::string const &descr1, T2 val2, std::string const &descr2)
Definition: utils.h:48
std::vector< double > applyInverse(std::vector< double > const &from) const
Definition: Mapping.h:314
Array2D linearApprox(PointD const &lbnd, PointD const &ubnd, double tol) const
Definition: Mapping.cc:49
ndarray::Array< const double, 2, 2 > ConstArray2D
Definition: base.h:46
Array2D applyForward(ConstArray2D const &from) const
Definition: Mapping.h:268
int getNIn() const
Definition: Mapping.h:77
bool hasInverse() const
Definition: Mapping.h:123
std::shared_ptr< Mapping > inverted() const
Definition: Mapping.cc:41
Mapping(Mapping const &)=default
Copy constructor: make a deep copy.