28 namespace lsst {
namespace meas {
namespace base {
31 flux(
std::numeric_limits<
Flux>::quiet_NaN()),
41 result._flux = schema.
addField<
Flux>(schema.
join(name,
"flux"), doc,
"count");
43 "1-sigma flux uncertainty",
"count");
64 result._magKey = schema.
addField<
Mag>(schema.
join(name,
"mag"),
"Magnitude");
75 record.
set(_magKey, magResult.
mag);
80 record.
set(_magKey, magResult.first);
81 record.
set(_magErrKey, magResult.second);
111 for (; inSrc != inputCatalog.
end() && outSrc != outputCatalog.
end(); ++inSrc, ++outSrc) {
std::string join(std::string const &a, std::string const &b) const
A FunctorKey for MagResult.
Temporarily replace negative fluxes with NaNs.
A reusable result struct for magnitudes.
static FluxResultKey addFields(afw::table::Schema &schema, std::string const &name, std::string const &doc)
Add a pair of _flux, _fluxSigma fields to a Schema, and return a FluxResultKey that points to them...
Field< T >::Value get(Key< T > const &key) const
FluxResult()
Default constructor; initializes everything to NaN.
static void setThrowOnNegativeFlux(bool raiseException)
Flux flux
Measured flux in DN.
A FunctorKey for FluxResult.
std::unique_ptr< SchemaItem< U > > result
double getMagnitude(double const flux) const
static MagResultKey addFields(afw::table::Schema &schema, std::string const &name)
Add a pair of _mag, _magErr fields to a Schema, and return a MagResultKey that points to them...
Base::const_iterator const_iterator
NoThrowOnNegativeFluxContext()
virtual FluxResult get(afw::table::BaseRecord const &record) const
Get a FluxResult from the given record.
virtual void set(afw::table::BaseRecord &record, MagResult const &magResult) const
Set a MagResult in the given record.
virtual void set(afw::table::BaseRecord &record, FluxResult const &other) const
Set a FluxResult in the given record.
void set(Key< T > const &key, U const &value)
static bool getThrowOnNegativeFlux()
virtual MagResult get(afw::table::BaseRecord const &record) const
Get a MagResult from the given record.
FluxErrElement fluxSigma
1-Sigma error (sqrt of variance) on flux in DN.
~NoThrowOnNegativeFluxContext()
Key< T > addField(Field< T > const &field, bool doReplace=false)
A reusable result struct for flux measurements.
CatalogIterator< typename Internal::iterator > iterator