lsst.shapelet
gc794cbe0cf+6dab958613
Toggle main menu visibility
Loading...
Searching...
No Matches
include
lsst
shapelet
GaussHermiteConvolution.h
Go to the documentation of this file.
1
// -*- LSST-C++ -*-
2
/*
3
* LSST Data Management System
4
* Copyright 2008, 2009, 2010, 2011 LSST Corporation.
5
*
6
* This product includes software developed by the
7
* LSST Project (http://www.lsst.org/).
8
*
9
* This program is free software: you can redistribute it and/or modify
10
* it under the terms of the GNU General Public License as published by
11
* the Free Software Foundation, either version 3 of the License, or
12
* (at your option) any later version.
13
*
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
18
*
19
* You should have received a copy of the LSST License Statement and
20
* the GNU General Public License along with this program. If not,
21
* see <http://www.lsstcorp.org/LegalNotices/>.
22
*/
23
24
#ifndef LSST_AFW_MATH_SHAPELETS_GaussHermiteConvolution
25
#define LSST_AFW_MATH_SHAPELETS_GaussHermiteConvolution
26
27
#include "ndarray.h"
28
#include "
lsst/afw/geom/ellipses.h
"
29
#include "
lsst/shapelet/HermiteTransformMatrix.h
"
30
31
#include <memory>
32
33
namespace
lsst
{
namespace
shapelet
{
34
35
class
ShapeletFunction
;
36
42
class
GaussHermiteConvolution
{
43
public
:
44
45
static
int
computeRowOrder
(
int
colOrder,
int
psfOrder) {
return
colOrder + psfOrder; }
46
56
ndarray::Array<double const,2,2>
evaluate
(
afw::geom::ellipses::Ellipse
& ellipse)
const
;
57
59
int
getColOrder
()
const
;
60
62
int
getRowOrder
()
const
;
63
65
GaussHermiteConvolution
(
int
colOrder,
ShapeletFunction
const
& psf);
66
67
// Must be defined in .cc file so it can see Impl dtor.
68
~GaussHermiteConvolution
();
69
70
// No copying
71
GaussHermiteConvolution
(
const
GaussHermiteConvolution
& ) =
delete
;
72
GaussHermiteConvolution
&
operator=
(
const
GaussHermiteConvolution
& ) =
delete
;
73
74
// No moving
75
GaussHermiteConvolution
(
GaussHermiteConvolution
&& ) =
delete
;
76
GaussHermiteConvolution
&
operator=
(
GaussHermiteConvolution
&& ) =
delete
;
77
78
#ifndef SWIG
79
class
Impl;
80
#endif
81
82
private
:
83
84
std::unique_ptr<Impl>
_impl;
85
};
86
87
88
}}
// namespace lsst::shapelet
89
90
#endif
// !LSST_AFW_MATH_SHAPELETS_GaussHermiteConvolution
HermiteTransformMatrix.h
lsst::afw::geom::ellipses::Ellipse
lsst::shapelet::GaussHermiteConvolution::getColOrder
int getColOrder() const
Return the order of the to-be-convolved shapelet basis.
lsst::shapelet::GaussHermiteConvolution::GaussHermiteConvolution
GaussHermiteConvolution(GaussHermiteConvolution &&)=delete
lsst::shapelet::GaussHermiteConvolution::computeRowOrder
static int computeRowOrder(int colOrder, int psfOrder)
Definition
GaussHermiteConvolution.h:45
lsst::shapelet::GaussHermiteConvolution::~GaussHermiteConvolution
~GaussHermiteConvolution()
lsst::shapelet::GaussHermiteConvolution::GaussHermiteConvolution
GaussHermiteConvolution(int colOrder, ShapeletFunction const &psf)
Construct a matrix that convolves a basis of the given order with the given shapelet function.
lsst::shapelet::GaussHermiteConvolution::GaussHermiteConvolution
GaussHermiteConvolution(const GaussHermiteConvolution &)=delete
lsst::shapelet::GaussHermiteConvolution::evaluate
ndarray::Array< double const, 2, 2 > evaluate(afw::geom::ellipses::Ellipse &ellipse) const
Evaluate a shapelet convolution matrix in the given array.
lsst::shapelet::GaussHermiteConvolution::operator=
GaussHermiteConvolution & operator=(const GaussHermiteConvolution &)=delete
lsst::shapelet::GaussHermiteConvolution::getRowOrder
int getRowOrder() const
Return the order of the post-convolution shapelet basis.
lsst::shapelet::ShapeletFunction
A 2-d function defined by an expansion onto a Gauss-Laguerre or Gauss-Hermite basis.
Definition
ShapeletFunction.h:65
ellipses.h
lsst::shapelet
Definition
BasisEvaluator.h:37
lsst
std::unique_ptr
Generated on
for lsst.shapelet by
1.17.0