LSST Applications g06d8191974+b5247657d3,g180d380827+b23588344e,g2079a07aa2+86d27d4dc4,g2305ad1205+0130fb9023,g29320951ab+7714a6b20a,g2bbee38e9b+0e5473021a,g337abbeb29+0e5473021a,g33d1c0ed96+0e5473021a,g3a166c0a6a+0e5473021a,g3ddfee87b4+8783ab7716,g48712c4677+72a8b1060b,g487adcacf7+bbaada240a,g50ff169b8f+96c6868917,g52b1c1532d+585e252eca,g591dd9f2cf+ecccb6240b,g5a732f18d5+53520f316c,g5ea96fc03c+33ab2bc355,g64a986408d+b5247657d3,g858d7b2824+b5247657d3,g8a8a8dda67+585e252eca,g99cad8db69+1453026da9,g9ddcbc5298+9a081db1e4,ga1e77700b3+15fc3df1f7,gb0e22166c9+60f28cb32d,gba4ed39666+c2a2e4ac27,gbb8dafda3b+3751ca9c65,gc120e1dc64+c91d1388df,gc28159a63d+0e5473021a,gc3e9b769f7+241adb7c58,gcf0d15dbbd+8783ab7716,gdaeeff99f8+f9a426f77a,ge6526c86ff+acdbe9a537,ge79ae78c31+0e5473021a,gee10cc3b42+585e252eca,gff1a9f87cc+b5247657d3,w.2024.17
LSST Data Management Base Package
Loading...
Searching...
No Matches
Sampler.h
Go to the documentation of this file.
1// -*- lsst-c++ -*-
2/*
3 * LSST Data Management System
4 * Copyright 2008-2013 LSST Corporation.
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_MODELFIT_Sampler_h_INCLUDED
25#define LSST_MEAS_MODELFIT_Sampler_h_INCLUDED
26
27#include "lsst/afw/table/fwd.h"
30
31namespace lsst { namespace meas { namespace modelfit {
32
34public:
35
36 virtual int getParameterDim() const = 0;
37
39 ndarray::Array<Scalar const,1,1> const & parameters,
41 ) const = 0;
42
43 virtual ~SamplingObjective() {}
44
45protected:
47
49 ndarray::Array<Pixel,2,-1> _modelMatrix;
50};
51
52class Sampler {
53public:
54
55 virtual void run(
56 SamplingObjective const & objective,
59 ) const = 0;
60
61 virtual ~Sampler() {}
62
63};
64
65}}} // namespace lsst::meas::modelfit
66
67#endif // !LSST_MEAS_MODELFIT_Sampler_h_INCLUDED
Base class for all records.
Definition BaseRecord.h:31
virtual void run(SamplingObjective const &objective, std::shared_ptr< Mixture > proposal, afw::table::BaseCatalog &samples) const =0
SamplingObjective(std::shared_ptr< Likelihood > likelihood)
ndarray::Array< Pixel, 2,-1 > _modelMatrix
Definition Sampler.h:49
std::shared_ptr< Likelihood > _likelihood
Definition Sampler.h:48
virtual int getParameterDim() const =0
virtual Scalar operator()(ndarray::Array< Scalar const, 1, 1 > const &parameters, afw::table::BaseRecord &sample) const =0
float Pixel
Typedefs to be used for pixel values.
Definition common.h:37
double Scalar
Typedefs to be used for probability and parameter values.
Definition common.h:44