File SchemaMapperImpl.h

namespace lsst

Class for a simple mapping implementing a generic AstrometryTransform.

Remove all non-astronomical counts from the Chunk Exposure’s pixels.

Forward declarations for lsst::utils::Cache

For details on the Cache class, see the Cache.h file.

It uses a template rather than a pointer so that the derived classes can use the specifics of the transform. The class simplePolyMapping overloads a few routines.

A base class for image defects

Numeric constants used by the Integrate.h integrator routines.

Compute Image Statistics

Note

Gauss-Kronrod-Patterson quadrature coefficients for use in quadpack routine qng. These coefficients were calculated with 101 decimal digit arithmetic by L. W. Fullerton, Bell Labs, Nov 1981.

Note

The Statistics class itself can only handle lsst::afw::image::MaskedImage() types. The philosophy has been to handle other types by making them look like lsst::afw::image::MaskedImage() and reusing that code. Users should have no need to instantiate a Statistics object directly, but should use the overloaded makeStatistics() factory functions.

namespace afw
namespace table
namespace detail
class SchemaMapperImpl
#include <SchemaMapperImpl.h>

A private implementation class to hide the messy details of SchemaMapper.

This class is very similar in spirit to SchemaImpl; look there for more information (though SchemaMapper is not copy-on-write).

Public Types

typedef boost::mpl::transform<FieldTypes, MakeKeyPair>::type KeyPairTypes

An MPL sequence of all the allowed pair templates.

typedef boost::make_variant_over<KeyPairTypes>::type KeyPairVariant

A Boost.Variant type that can hold any one of the allowed pair types.

typedef std::vector<KeyPairVariant> KeyPairMap

A std::vector whose elements can be any of the allowed pair types.

Public Functions

SchemaMapperImpl(Schema const &input, Schema const &output)

Constructor from the given input and output schemas.

Private Members

Schema _input
Schema _output
KeyPairMap _map

Friends

friend lsst::afw::table::detail::table::SchemaMapper
friend lsst::afw::table::detail::detail::Access
struct MakeKeyPair

Boost.MPL metafunction that returns a std::pair< Key<T>, Key<T> > given a T.

template<typename T>
struct apply

Public Types

typedef std::pair<Key<T>, Key<T>> type
template<typename F>
struct VisitorWrapper : public boost::static_visitor<>
#include <SchemaMapperImpl.h>

A functor-wrapper used in the implementation of SchemaMapper::forEach.

See SchemaImpl::VisitorWrapper for discussion of the motivation.

Public Functions

template<typename T>
void operator()(std::pair<Key<T>, Key<T>> const &pair) const

Call the wrapped function.

void operator()(KeyPairVariant const &v) const

Invoke the visitation.

The call to boost::apply_visitor will call the appropriate template of operator().

This overload allows a VisitorWrapper to be applied directly on a variant object with function-call syntax, allowing us to use it on our vector of variants with std::for_each and other STL algorithms.

template<typename T>
VisitorWrapper(T &&func)

Construct the wrappper.

Private Members

F _func