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
math
traits.h
Go to the documentation of this file.
1
/*
2
* LSST Data Management System
3
* Copyright 2008, 2009, 2010 LSST Corporation.
4
*
5
* This product includes software developed by the
6
* LSST Project (http://www.lsst.org/).
7
*
8
* This program is free software: you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation, either version 3 of the License, or
11
* (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the LSST License Statement and
19
* the GNU General Public License along with this program. If not,
20
* see <http://www.lsstcorp.org/LegalNotices/>.
21
*/
22
23
#if !defined(LSST_AFW_MATH_KERNEL_TRAITS_H)
24
#define LSST_AFW_MATH_KERNEL_TRAITS_H 1
25
26
#include "boost/mpl/bool.hpp"
31
namespace
lsst {
32
namespace
afw {
33
namespace
math {
34
class
AnalyticKernel;
35
37
template
<
typename
KernelT>
38
struct
is_analyticKernel
{
39
BOOST_STATIC_CONSTANT
(
bool
, value=
false
);
40
};
41
42
template
<
typename
KernelT>
43
struct
is_analyticKernel
<KernelT *> :
public
is_analyticKernel<KernelT>
{
44
};
45
46
template
<
typename
KernelT>
47
struct
is_analyticKernel
<boost::shared_ptr<KernelT> > :
public
is_analyticKernel
<KernelT> {
48
};
49
50
template
<>
51
struct
is_analyticKernel
<
AnalyticKernel
> {
52
BOOST_STATIC_CONSTANT
(
bool
, value=
true
);
53
};
54
55
/************************************************************************************************************/
56
58
struct
generic_kernel_tag
{
generic_kernel_tag
(){}};
59
struct
deltafunction_kernel_tag
:
public
generic_kernel_tag
{
deltafunction_kernel_tag
(){}};
60
62
template
<
typename
KernelT>
63
struct
kernel_traits
{
64
typedef
typename
KernelT::kernel_fill_factor
kernel_fill_factor
;
65
};
66
67
extern
generic_kernel_tag
generic_kernel_tag_
;
68
extern
deltafunction_kernel_tag
deltafunction_kernel_tag_
;
69
}}}
// lsst::afw::math
70
71
#endif
lsst::afw::math::generic_kernel_tag::generic_kernel_tag
generic_kernel_tag()
Definition:
traits.h:58
lsst::afw::math::deltafunction_kernel_tag_
deltafunction_kernel_tag deltafunction_kernel_tag_
Used as default value in argument lists.
Definition:
Kernel.cc:45
lsst::afw::math::kernel_traits::kernel_fill_factor
KernelT::kernel_fill_factor kernel_fill_factor
Fraction of non-zero pixels.
Definition:
traits.h:64
lsst::afw::math::is_analyticKernel::BOOST_STATIC_CONSTANT
BOOST_STATIC_CONSTANT(bool, value=false)
lsst::afw::math::deltafunction_kernel_tag
Kernel has only one non-zero pixel.
Definition:
traits.h:59
lsst::afw::math::generic_kernel_tag_
generic_kernel_tag generic_kernel_tag_
Used as default value in argument lists.
Definition:
Kernel.cc:44
lsst::afw::math::deltafunction_kernel_tag::deltafunction_kernel_tag
deltafunction_kernel_tag()
Definition:
traits.h:59
lsst::afw::math::AnalyticKernel
A kernel described by a function.
Definition:
Kernel.h:628
lsst::afw::math::generic_kernel_tag
Tags carrying information about Kernels Kernel with no special properties.
Definition:
traits.h:58
lsst::afw::math::kernel_traits
template trait class with information about Kernels
Definition:
traits.h:63
lsst::afw::math::is_analyticKernel
traits class to determine if a Kernel is represented as an analytic function
Definition:
traits.h:38
Generated on Thu Sep 24 2015 02:29:15 for LSSTApplications by
1.8.5