1 #ifndef MeasAlgoShapeletBVec_H
2 #define MeasAlgoShapeletBVec_H
11 namespace algorithms {
67 size_t size()
const {
return _b.size(); }
106 std::complex<double> z,
int order1,
int order2,
DMatrix& T);
110 void applyZ(std::complex<double> z, BVec&
b);
120 double theta,
int order1,
int order2,
DBandMatrix& R);
126 std::complex<double> g,
int order1,
int order2,
DMatrix& S);
130 void applyG(std::complex<double> g, BVec&
b);
133 const BVec& bpsf,
int order1,
int order2,
double sigma,
DMatrix& C);
137 void applyPsf(
const BVec& bpsf, BVec&
b);
void augmentMuTransformCols(double mu, int order, DMatrix &D)
void assignTo(BVec &bvec) const
virtual void assignTo(BVec &bvec) const =0
void applyPsf(const BVec &bpsf, BVec &b)
BVec(int order, double sigma)
BVec(int order, double sigma, const DVector &bvec)
BVec & operator=(const AssignableToBVec &rhs)
void setValues(const V &v)
void calculateGTransform(std::complex< double > g, int order1, int order2, DMatrix &S)
double operator()(int i) const
std::ostream & operator<<(std::ostream &os, const Position &pos)
void applyG(std::complex< double > g, BVec &b)
virtual ~AssignableToBVec()
afw::table::Key< double > sigma
void augmentZTransformCols(std::complex< double > z, int order, DMatrix &T)
void calculateZTransform(std::complex< double > z, int order1, int order2, DMatrix &T)
const DVector & vec() const
void setValues(const DVector &v)
virtual int getOrder() const =0
void setSigma(double sigma)
double & operator()(int i)
void applyZ(std::complex< double > z, BVec &b)
const DVector & getValues() const
void calculateThetaTransform(double theta, int order1, int order2, DBandMatrix &R)
void augmentMuTransformRows(double mu, int order, DMatrix &D)
Eigen::MatrixXd DBandMatrix
void augmentGTransformCols(std::complex< double > g, int order, DMatrix &S)
void applyMu(double mu, BVec &b)
afw::table::Key< double > b
BVec(int order, double sigma, double *bvec)
void calculatePsfConvolve(const BVec &bpsf, int order1, int order2, double sigma, DMatrix &C)
void calculateMuTransform(double mu, int order1, int order2, DMatrix &D)
void applyTheta(double theta, BVec &b)
virtual double getSigma() const =0