lsst.meas.base
22.0.1-25-gb120d7b+9767260124
include
lsst
meas
base
Transform.h
Go to the documentation of this file.
1
// -*- lsst-c++ -*-
2
/*
3
* LSST Data Management System
4
* Copyright 2008-2015 AURA/LSST.
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_MEAS_BASE_Transform_h_INCLUDED
25
#define LSST_MEAS_BASE_Transform_h_INCLUDED
26
32
#include <string>
33
#include "
lsst/afw/geom.h
"
34
#include "
lsst/afw/image.h
"
35
#include "
lsst/afw/image/PhotoCalib.h
"
36
#include "
lsst/afw/table.h
"
37
#include "
lsst/pex/exceptions.h
"
38
39
namespace
lsst
{
40
namespace
meas {
41
namespace
base {
42
86
class
BaseTransform
{
87
public
:
88
explicit
BaseTransform
(
std::string
const
& name) :
_name
(
name
) {}
89
virtual
~BaseTransform
() {}
90
virtual
void
operator()
(
afw::table::SourceCatalog
const
& inputCatalog,
91
afw::table::BaseCatalog
& outputCatalog,
afw::geom::SkyWcs
const
& wcs,
92
afw::image::PhotoCalib
const
& photoCalib)
const
= 0;
93
94
protected
:
102
void
checkCatalogSize
(
afw::table::BaseCatalog
const
& cat1,
afw::table::BaseCatalog
const
& cat2)
const
{
103
if
(cat1.
size
() != cat2.
size
()) {
104
throw
LSST_EXCEPT
(
pex::exceptions::LengthError
,
"Catalog size mismatch"
);
105
}
106
}
107
std::string
_name
;
108
};
109
110
}
// namespace base
111
}
// namespace meas
112
}
// namespace lsst
113
114
#endif
// !LSST_MEAS_BASE_Transform_h_INCLUDED
name
table::Key< std::string > name
LSST_EXCEPT
#define LSST_EXCEPT(type,...)
image.h
PhotoCalib.h
std::string
lsst::afw::geom::SkyWcs
lsst::afw::image::PhotoCalib
CatalogT< BaseRecord >
CatalogT< BaseRecord >::size
size_type size() const
lsst::afw::table::SortedCatalogT
lsst::meas::base::BaseTransform
Abstract base class for all C++ measurement transformations.
Definition:
Transform.h:86
lsst::meas::base::BaseTransform::operator()
virtual void operator()(afw::table::SourceCatalog const &inputCatalog, afw::table::BaseCatalog &outputCatalog, afw::geom::SkyWcs const &wcs, afw::image::PhotoCalib const &photoCalib) const =0
lsst::meas::base::BaseTransform::_name
std::string _name
Definition:
Transform.h:107
lsst::meas::base::BaseTransform::checkCatalogSize
void checkCatalogSize(afw::table::BaseCatalog const &cat1, afw::table::BaseCatalog const &cat2) const
Ensure that catalogs have the same size.
Definition:
Transform.h:102
lsst::meas::base::BaseTransform::~BaseTransform
virtual ~BaseTransform()
Definition:
Transform.h:89
lsst::meas::base::BaseTransform::BaseTransform
BaseTransform(std::string const &name)
Definition:
Transform.h:88
lsst::pex::exceptions::LengthError
exceptions.h
geom.h
lsst
table.h
Generated on Tue Nov 23 2021 03:07:44 for lsst.meas.base by
1.9.1