LSSTApplications
10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
home
lsstsw
stack
Linux64
afw
11.0-2-g04d2804
include
lsst
afw
geom
ellipses
Convolution.h
Go to the documentation of this file.
1
// -*- lsst-c++ -*-
2
3
/*
4
* LSST Data Management System
5
* Copyright 2008, 2009, 2010 LSST Corporation.
6
*
7
* This product includes software developed by the
8
* LSST Project (http://www.lsst.org/).
9
*
10
* This program is free software: you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License as published by
12
* the Free Software Foundation, either version 3 of the License, or
13
* (at your option) any later version.
14
*
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU General Public License for more details.
19
*
20
* You should have received a copy of the LSST License Statement and
21
* the GNU General Public License along with this program. If not,
22
* see <http://www.lsstcorp.org/LegalNotices/>.
23
*/
24
25
#ifndef LSST_AFW_GEOM_ELLIPSES_Convolution_h_INCLUDED
26
#define LSST_AFW_GEOM_ELLIPSES_Convolution_h_INCLUDED
27
35
#include <boost/tuple/tuple.hpp>
36
37
#include "
lsst/afw/geom/ellipses/Ellipse.h
"
38
39
namespace
lsst {
namespace
afw {
namespace
geom {
namespace
ellipses {
40
44
class
BaseCore::Convolution
{
45
public
:
46
48
typedef
Eigen::Matrix3d
DerivativeMatrix
;
49
51
Convolution
(
BaseCore
&
self
,
BaseCore
const
&
other
) :
52
self
(
self
), other(other) {}
53
55
BaseCore::Ptr
copy
()
const
;
56
58
void
inPlace
();
59
61
DerivativeMatrix
d
()
const
;
62
63
void
apply
(
BaseCore
& result)
const
;
64
65
BaseCore
&
self
;
66
BaseCore
const
&
other
;
67
68
};
69
73
class
Ellipse::Convolution
{
74
public
:
75
77
typedef
Eigen::Matrix<double,5,5>
DerivativeMatrix
;
78
80
Convolution
(
Ellipse
&
self
,
Ellipse
const
&
other
) :
81
self
(
self
), other(other) {}
82
84
Ellipse::Ptr
copy
()
const
;
85
87
void
inPlace
();
88
90
DerivativeMatrix
d
()
const
;
91
92
Ellipse
&
self
;
93
Ellipse
const
&
other
;
94
95
};
96
97
inline
BaseCore::Convolution
BaseCore::convolve
(
BaseCore
const
& other) {
98
return
BaseCore::Convolution
(*
this
, other);
99
}
100
101
inline
BaseCore::Convolution
const
BaseCore::convolve
(
BaseCore
const
& other)
const
{
102
return
BaseCore::Convolution
(const_cast<BaseCore &>(*
this
), other);
103
}
104
105
inline
Ellipse::Convolution
Ellipse::convolve
(
Ellipse
const
& other) {
106
return
Ellipse::Convolution
(*
this
, other);
107
}
108
109
inline
Ellipse::Convolution
const
Ellipse::convolve
(
Ellipse
const
& other)
const
{
110
return
Ellipse::Convolution
(const_cast<Ellipse &>(*
this
), other);
111
}
112
113
}}}}
// namespace lsst::afw::geom::ellipses
114
115
#endif // !LSST_AFW_GEOM_ELLIPSES_Convolution_h_INCLUDED
lsst::afw::geom::ellipses::BaseCore::Convolution::DerivativeMatrix
Eigen::Matrix3d DerivativeMatrix
Matrix type for derivative with respect to input ellipse parameters.
Definition:
Convolution.h:48
lsst::afw::geom::ellipses::BaseCore::Convolution::self
BaseCore & self
Definition:
Convolution.h:65
lsst::afw::geom::ellipses::BaseCore::Ptr
boost::shared_ptr< BaseCore > Ptr
Definition:
BaseCore.h:60
lsst::afw::geom::ellipses::BaseCore::Convolution::apply
void apply(BaseCore &result) const
Ellipse.h
Forward declarations, typedefs, and definitions for Ellipse.
lsst::afw::geom::ellipses::Ellipse
An ellipse defined by an arbitrary BaseCore and a center point.
Definition:
Ellipse.h:50
lsst::afw::geom::ellipses::BaseCore::convolve
Convolution convolve(BaseCore const &other)
Definition:
Convolution.h:97
lsst::afw::geom::ellipses::Ellipse::Convolution::self
Ellipse & self
Definition:
Convolution.h:92
lsst::afw::geom::ellipses::BaseCore::Convolution::inPlace
void inPlace()
Convolve the ellipse core in-place.
lsst::afw::geom::ellipses::BaseCore::Convolution::d
DerivativeMatrix d() const
Return the derivative of convolved core with respect to self.
lsst::afw::geom::ellipses::Ellipse::Convolution::copy
Ellipse::Ptr copy() const
Return a new convolved ellipse.
lsst::afw::geom::ellipses::BaseCore::Convolution::Convolution
Convolution(BaseCore &self, BaseCore const &other)
Standard constructor.
Definition:
Convolution.h:51
lsst::afw::geom::ellipses::BaseCore::Convolution::other
BaseCore const & other
Definition:
Convolution.h:66
lsst::afw::geom::ellipses::BaseCore
A base class for parametrizations of the "core" of an ellipse - the ellipticity and size...
Definition:
BaseCore.h:54
lsst::afw::geom::ellipses::BaseCore::Convolution::copy
BaseCore::Ptr copy() const
Return a new convolved ellipse core.
lsst::afw::geom::ellipses::Ellipse::Convolution::inPlace
void inPlace()
Convolve the ellipse in-place.
lsst::afw::geom::ellipses::Ellipse::Convolution::Convolution
Convolution(Ellipse &self, Ellipse const &other)
Standard constructor.
Definition:
Convolution.h:80
lsst::afw::geom::ellipses::Ellipse::Convolution::other
Ellipse const & other
Definition:
Convolution.h:93
lsst::afw::geom::ellipses::Ellipse::Convolution
A temporary-only expression object for ellipse convolution.
Definition:
Convolution.h:73
lsst::afw::geom::ellipses::Ellipse::Ptr
boost::shared_ptr< Ellipse > Ptr
Definition:
Ellipse.h:60
lsst::afw::geom::ellipses::BaseCore::Convolution
A temporary-only expression object for ellipse core convolution.
Definition:
Convolution.h:44
lsst::afw::geom::ellipses::Ellipse::convolve
Convolution convolve(Ellipse const &other)
Definition:
Convolution.h:105
lsst::afw::geom::ellipses::Ellipse::Convolution::d
DerivativeMatrix d() const
Return the derivative of convolved ellipse with respect to self.
lsst::afw::geom::ellipses::Ellipse::Convolution::DerivativeMatrix
Eigen::Matrix< double, 5, 5 > DerivativeMatrix
Matrix type for derivative with respect to input ellipse parameters.
Definition:
Convolution.h:77
Generated on Thu Sep 24 2015 02:29:14 for LSSTApplications by
1.8.5