lsst.afw
g3a5ebb7d8a+28b83bf6a5
Toggle main menu visibility
Loading...
Searching...
No Matches
include
lsst
afw
geom
ellipses
ConformalShear.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_ConformalShear_h_INCLUDED
26
#define LSST_AFW_GEOM_ELLIPSES_ConformalShear_h_INCLUDED
27
28
#include "
lsst/afw/geom/ellipses/EllipticityBase.h
"
29
30
namespace
lsst
{
31
namespace
afw
{
32
namespace
geom
{
33
namespace
ellipses
{
34
35
class
Distortion
;
36
37
class
ReducedShear
;
38
45
class
ConformalShear
:
public
detail::EllipticityBase
{
46
public
:
47
explicit
ConformalShear
(
std::complex<double>
const
& complex) :
detail
::
EllipticityBase
(complex) {}
48
49
explicit
ConformalShear
(
double
e1 = 0.0,
double
e2 = 0.0) :
detail
::
EllipticityBase
(e1, e2) {}
50
51
ConformalShear
(
ConformalShear
const
& other) :
detail
::
EllipticityBase
(other.
getComplex
()) {}
52
// Delegate to copy-constructor for backwards compatibility
53
ConformalShear
(
ConformalShear
&& other) :
ConformalShear
(other) {}
54
~ConformalShear
() =
default
;
55
56
explicit
ConformalShear
(
Distortion
const
& other) { this->
operator=
(other); }
57
58
explicit
ConformalShear
(
ReducedShear
const
& other) { this->
operator=
(other); }
59
60
ConformalShear
&
operator=
(
ConformalShear
const
& other) {
61
_complex
= other.
_complex
;
62
return
*
this
;
63
}
64
// Delegate to copy-assignment for backwards compatibility
65
ConformalShear
&
operator=
(
ConformalShear
&& other) {
return
*
this
= other; }
66
67
ConformalShear
&
operator=
(
Distortion
const
& other);
68
69
ConformalShear
&
operator=
(
ReducedShear
const
& other);
70
71
Jacobian
dAssign
(
ConformalShear
const
& other) {
72
_complex
= other.
_complex
;
73
return
Jacobian::Identity();
74
}
75
76
Jacobian
dAssign
(
Distortion
const
& other);
77
78
Jacobian
dAssign
(
ReducedShear
const
& other);
79
80
double
getAxisRatio
()
const
;
81
82
void
normalize
() {}
83
84
static
std::string
getName
() {
return
"ConformalShear"
; }
85
};
86
}
// namespace ellipses
87
}
// namespace geom
88
}
// namespace afw
89
}
// namespace lsst
90
91
#endif
// !LSST_AFW_GEOM_ELLIPSES_ConformalShear_h_INCLUDED
EllipticityBase.h
std::string
lsst::afw::geom::ellipses::ConformalShear
A logarithmic complex ellipticity with magnitude .
Definition
ConformalShear.h:45
lsst::afw::geom::ellipses::ConformalShear::ConformalShear
ConformalShear(Distortion const &other)
Definition
ConformalShear.h:56
lsst::afw::geom::ellipses::ConformalShear::ConformalShear
ConformalShear(ConformalShear &&other)
Definition
ConformalShear.h:53
lsst::afw::geom::ellipses::ConformalShear::ConformalShear
ConformalShear(double e1=0.0, double e2=0.0)
Definition
ConformalShear.h:49
lsst::afw::geom::ellipses::ConformalShear::dAssign
Jacobian dAssign(ConformalShear const &other)
Definition
ConformalShear.h:71
lsst::afw::geom::ellipses::ConformalShear::ConformalShear
ConformalShear(ReducedShear const &other)
Definition
ConformalShear.h:58
lsst::afw::geom::ellipses::ConformalShear::getName
static std::string getName()
Definition
ConformalShear.h:84
lsst::afw::geom::ellipses::ConformalShear::getAxisRatio
double getAxisRatio() const
Definition
ConformalShear.cc:35
lsst::afw::geom::ellipses::ConformalShear::~ConformalShear
~ConformalShear()=default
lsst::afw::geom::ellipses::ConformalShear::operator=
ConformalShear & operator=(ConformalShear const &other)
Definition
ConformalShear.h:60
lsst::afw::geom::ellipses::ConformalShear::normalize
void normalize()
Definition
ConformalShear.h:82
lsst::afw::geom::ellipses::ConformalShear::operator=
ConformalShear & operator=(ConformalShear &&other)
Definition
ConformalShear.h:65
lsst::afw::geom::ellipses::ConformalShear::ConformalShear
ConformalShear(ConformalShear const &other)
Definition
ConformalShear.h:51
lsst::afw::geom::ellipses::ConformalShear::ConformalShear
ConformalShear(std::complex< double > const &complex)
Definition
ConformalShear.h:47
lsst::afw::geom::ellipses::Distortion
A complex ellipticity with magnitude .
Definition
Distortion.h:44
lsst::afw::geom::ellipses::ReducedShear
A complex ellipticity with magnitude .
Definition
ReducedShear.h:45
lsst::afw::geom::ellipses::detail::EllipticityBase
EllipticityBase is a base class for complex ellipticity types.
Definition
EllipticityBase.h:45
lsst::afw::geom::ellipses::detail::EllipticityBase::EllipticityBase
EllipticityBase(EllipticityBase const &)=default
lsst::afw::geom::ellipses::detail::EllipticityBase::Jacobian
Eigen::Matrix2d Jacobian
Definition
EllipticityBase.h:47
lsst::afw::geom::ellipses::detail::EllipticityBase::_complex
std::complex< double > _complex
Definition
EllipticityBase.h:91
lsst::afw::geom::ellipses::detail::EllipticityBase::getComplex
std::complex< double > & getComplex()
Definition
EllipticityBase.h:51
std::complex
lsst::afw::geom::ellipses::detail
Definition
EllipticityBase.h:36
lsst::afw::geom::ellipses
Definition
ellipses.h:50
lsst::afw::geom
Definition
frameSetUtils.h:40
lsst::afw
Definition
imageAlgorithm.dox:1
lsst
Generated on
for lsst.afw by
1.17.0