LSSTApplications  18.1.0
LSSTDataManagementBasePackage
Parametric.cc
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  */
25 
26 namespace lsst {
27 namespace afw {
28 namespace geom {
29 namespace ellipses {
30 
31 Parametric::Parametric(Ellipse const& ellipse) : _center(ellipse.getCenter()) {
32  double a, b, theta;
33  ellipse.getCore()._assignToAxes(a, b, theta);
34  double c = std::cos(theta);
35  double s = std::sin(theta);
36  _u = lsst::geom::Extent2D(a * c, a * s);
37  _v = lsst::geom::Extent2D(-b * s, b * c);
38 }
39 } // namespace ellipses
40 } // namespace geom
41 } // namespace afw
42 } // namespace lsst
table::Key< int > b
table::Key< int > a
BaseCore const & getCore() const
Return the ellipse core.
Definition: Ellipse.h:71
T sin(T... args)
A base class for image defects.
An ellipse defined by an arbitrary BaseCore and a center point.
Definition: Ellipse.h:51
T cos(T... args)
Parametric(Ellipse const &ellipse)
Definition: Parametric.cc:31
virtual void _assignToAxes(double &a, double &b, double &theta) const =0
solver_t * s
Extent< double, 2 > Extent2D
Definition: Extent.h:400