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
SizeMagnitudeStarSelector.h
Go to the documentation of this file.
1 // -*- LSST-C++ -*-
2 #ifndef LSST_COADD_ALGORITHMS_SIZEMAGNITUDESTARFINDER_H
3 #define LSST_COADD_ALGORITHMS_SIZEMAGNITUDESTARFINDER_H
4 
5 /*
6  * LSST Data Management System
7  * Copyright 2008, 2009, 2010 LSST Corporation.
8  *
9  * This product includes software developed by the
10  * LSST Project (http://www.lsst.org/).
11  *
12  * This program is free software: you can redistribute it and/or modify
13  * it under the terms of the GNU General Public License as published by
14  * the Free Software Foundation, either version 3 of the License, or
15  * (at your option) any later version.
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  * GNU General Public License for more details.
21  *
22  * You should have received a copy of the LSST License Statement and
23  * the GNU General Public License along with this program. If not,
24  * see <http://www.lsstcorp.org/LegalNotices/>.
25  */
26 
34 #include "boost/shared_ptr.hpp"
35 
36 #include "lsst/afw/table/Source.h"
37 #include "lsst/afw/table/Match.h" // because we can't forward-declare a typedef
39 #include "lsst/afw/geom/Point.h"
41 #include "lsst/pex/policy/Policy.h"
42 
43 namespace lsst {
44 namespace meas {
45 namespace algorithms {
46 
47  class SizeMagnitudeStarSelectorImpl;
48 
50  {
51  public:
52  typedef float PixelT;
60 
62 
68  SizeMagnitudeStarSelector(const Policy& policy);
69 
74 
87  const Exposure & exposure,
88  const SourceCatalog & sourceList,
91  ) const;
92 
93  private :
94 
115  double calculateSourceSize(
116  const SourceRecord & source,
117  const Exposure & exposure
118  ) const;
119 
124  void operator=(const SizeMagnitudeStarSelector& rhs);
125 
126  boost::shared_ptr<SizeMagnitudeStarSelectorImpl> pImpl;
127  };
128 
129 }}}
130 
131 #endif
A coordinate class intended to represent absolute positions.
boost::shared_ptr< SizeMagnitudeStarSelectorImpl > pImpl
A class to contain the data, WCS, and other information needed to describe an image of the sky...
Definition: Exposure.h:48
a container for holding hierarchical configuration data in memory.
Definition: Policy.h:169
std::vector< ReferenceMatch > ReferenceMatchVector
Definition: fwd.h:97
PsfCandidateList selectStars(const Exposure &exposure, const SourceCatalog &sourceList, boost::shared_ptr< afw::table::ReferenceMatchVector const > matches=boost::shared_ptr< afw::table::ReferenceMatchVector const >()) const
Find a set of stars from an input list of Sources.
Class used by SpatialCell for spatial PSF fittig.
Custom catalog class for record/table subclasses that are guaranteed to have an ID, and should generally be sorted by that ID.
Definition: fwd.h:55
SizeMagnitudeStarSelector(const Policy &policy)
Create a size-magnitude star selector from a policy.
void operator=(const SizeMagnitudeStarSelector &rhs)
lsst::meas::algorithms::PsfCandidate< PixelT > PsfCandidateT
Table class that contains measurements made on a single exposure.
Definition: Source.h:203
double calculateSourceSize(const SourceRecord &source, const Exposure &exposure) const
Calculates a robust size measurement for a source.
#define CONST_PTR(...)
Definition: base.h:47
Record class that contains measurements made on a single exposure.
Definition: Source.h:81
Class stored in SpatialCells for spatial Psf fitting.
Definition: PsfCandidate.h:57