LSST Applications  21.0.0+04719a4bac,21.0.0-1-ga51b5d4+f5e6047307,21.0.0-11-g2b59f77+a9c1acf22d,21.0.0-11-ga42c5b2+86977b0b17,21.0.0-12-gf4ce030+76814010d2,21.0.0-13-g1721dae+760e7a6536,21.0.0-13-g3a573fe+768d78a30a,21.0.0-15-g5a7caf0+f21cbc5713,21.0.0-16-g0fb55c1+b60e2d390c,21.0.0-19-g4cded4ca+71a93a33c0,21.0.0-2-g103fe59+bb20972958,21.0.0-2-g45278ab+04719a4bac,21.0.0-2-g5242d73+3ad5d60fb1,21.0.0-2-g7f82c8f+8babb168e8,21.0.0-2-g8f08a60+06509c8b61,21.0.0-2-g8faa9b5+616205b9df,21.0.0-2-ga326454+8babb168e8,21.0.0-2-gde069b7+5e4aea9c2f,21.0.0-2-gecfae73+1d3a86e577,21.0.0-2-gfc62afb+3ad5d60fb1,21.0.0-25-g1d57be3cd+e73869a214,21.0.0-3-g357aad2+ed88757d29,21.0.0-3-g4a4ce7f+3ad5d60fb1,21.0.0-3-g4be5c26+3ad5d60fb1,21.0.0-3-g65f322c+e0b24896a3,21.0.0-3-g7d9da8d+616205b9df,21.0.0-3-ge02ed75+a9c1acf22d,21.0.0-4-g591bb35+a9c1acf22d,21.0.0-4-g65b4814+b60e2d390c,21.0.0-4-gccdca77+0de219a2bc,21.0.0-4-ge8a399c+6c55c39e83,21.0.0-5-gd00fb1e+05fce91b99,21.0.0-6-gc675373+3ad5d60fb1,21.0.0-64-g1122c245+4fb2b8f86e,21.0.0-7-g04766d7+cd19d05db2,21.0.0-7-gdf92d54+04719a4bac,21.0.0-8-g5674e7b+d1bd76f71f,master-gac4afde19b+a9c1acf22d,w.2021.13
LSST Data Management Base Package
Public Member Functions | Public Attributes | List of all members
lsst::jointcal::Associations Class Reference

The class that implements the relations between MeasuredStar and FittedStar. More...

#include <Associations.h>

Public Member Functions

size_t refStarListSize ()
 
size_t fittedStarListSize ()
 
 Associations ()
 Source selection is performed in python, so Associations' constructor only initializes a couple of variables. More...
 
 Associations (CcdImageList const &imageList)
 Create an Associations object from a pre-built list of ccdImages. More...
 
 Associations (Associations const &)=delete
 No moves or copies: jointcal only ever needs one Associations object. More...
 
 Associations (Associations &&)=delete
 
Associationsoperator= (Associations const &)=delete
 
Associationsoperator= (Associations &&)=delete
 
void computeCommonTangentPoint ()
 Sets a shared tangent point for all ccdImages, using the mean of the centers of all ccdImages. More...
 
void setCommonTangentPoint (lsst::geom::Point2D const &commonTangentPoint)
 Sets a shared tangent point for all ccdImages. More...
 
Point getCommonTangentPoint () const
 can be used to project sidereal coordinates related to the image set on a plane. More...
 
void createCcdImage (afw::table::SourceCatalog &catalog, std::shared_ptr< lsst::afw::geom::SkyWcs > wcs, std::shared_ptr< lsst::afw::image::VisitInfo > visitInfo, lsst::geom::Box2I const &bbox, std::string const &filter, std::shared_ptr< afw::image::PhotoCalib > photoCalib, std::shared_ptr< afw::cameraGeom::Detector > detector, int visit, int ccd, lsst::jointcal::JointcalControl const &control)
 Create a ccdImage from an exposure catalog and metadata, and add it to the list. More...
 
void addCcdImage (std::shared_ptr< CcdImage > const ccdImage)
 Add a pre-constructed ccdImage to the ccdImageList. More...
 
void associateCatalogs (const double matchCutInArcsec=0, const bool useFittedList=false, const bool enlargeFittedList=true)
 incrementaly builds a merged catalog of all image catalogs More...
 
void collectRefStars (afw::table::SimpleCatalog &refCat, geom::Angle matchCut, std::string const &fluxField, float refCoordinateErr, bool rejectBadFluxes=false)
 Collect stars from an external reference catalog and associate them with fittedStars. More...
 
void deprojectFittedStars ()
 Sends back the fitted stars coordinates on the sky FittedStarsList::inTangentPlaneCoordinates keeps track of that. More...
 
void prepareFittedStars (int minMeasurements)
 Set the color field of FittedStar 's from a colored catalog. More...
 
CcdImageList const & getCcdImageList () const
 
unsigned getNFilters () const
 Number of different bands in the input image list. Not implemented so far. More...
 
lsst::sphgeom::Circle computeBoundingCircle () const
 Return the bounding circle in on-sky (RA, Dec) coordinates containing all CcdImages. More...
 
int nCcdImagesValidForFit () const
 return the number of CcdImages with non-empty catalogs to-be-fit. More...
 
size_t nFittedStarsWithAssociatedRefStar () const
 Return the number of fittedStars that have an associated refStar. More...
 

Public Attributes

CcdImageList ccdImageList
 
RefStarList refStarList
 
FittedStarList fittedStarList
 

Detailed Description

The class that implements the relations between MeasuredStar and FittedStar.

Definition at line 54 of file Associations.h.

Constructor & Destructor Documentation

◆ Associations() [1/4]

lsst::jointcal::Associations::Associations ( )
inline

Source selection is performed in python, so Associations' constructor only initializes a couple of variables.

Definition at line 69 of file Associations.h.

◆ Associations() [2/4]

lsst::jointcal::Associations::Associations ( CcdImageList const &  imageList)
inline

Create an Associations object from a pre-built list of ccdImages.

This is primarily useful for tests that build their own ccdImageList, but it could be used to help parallelize the creation of the ccdImages.

Parameters
imageListA pre-built ccdImage list.

Definition at line 81 of file Associations.h.

82  : ccdImageList(imageList),
83  _commonTangentPoint(Point(std::numeric_limits<double>::quiet_NaN(),

◆ Associations() [3/4]

lsst::jointcal::Associations::Associations ( Associations const &  )
delete

No moves or copies: jointcal only ever needs one Associations object.

◆ Associations() [4/4]

lsst::jointcal::Associations::Associations ( Associations &&  )
delete

Member Function Documentation

◆ addCcdImage()

void lsst::jointcal::Associations::addCcdImage ( std::shared_ptr< CcdImage > const  ccdImage)
inline

Add a pre-constructed ccdImage to the ccdImageList.

Definition at line 131 of file Associations.h.

131 { ccdImageList.push_back(ccdImage); }
T push_back(T... args)

◆ associateCatalogs()

void lsst::jointcal::Associations::associateCatalogs ( const double  matchCutInArcsec = 0,
const bool  useFittedList = false,
const bool  enlargeFittedList = true 
)

incrementaly builds a merged catalog of all image catalogs

Definition at line 119 of file Associations.cc.

120  {
121  // clear reference stars
122  refStarList.clear();
123 
124  // clear measurement counts and associations to refstars, but keep fittedStars themselves.
125  for (auto &item : fittedStarList) {
126  item->clearBeforeAssoc();
127  }
128  // clear fitted stars
129  if (!useFittedList) fittedStarList.clear();
130 
131  for (auto &ccdImage : ccdImageList) {
132  std::shared_ptr<AstrometryTransform> toCommonTangentPlane = ccdImage->getPixelToCommonTangentPlane();
133 
134  // Clear the catalog to fit and copy the whole catalog into it.
135  // This allows reassociating from scratch after a fit.
136  ccdImage->resetCatalogForFit();
137  MeasuredStarList &catalog = ccdImage->getCatalogForFit();
138 
139  // Associate with previous lists.
140  /* To speed up the match (more precisely the contruction of the FastFinder), select in the
141  fittedStarList the objects that are within reach of the current ccdImage */
142  Frame ccdImageFrameCPT = toCommonTangentPlane->apply(ccdImage->getImageFrame(), false);
143  ccdImageFrameCPT = ccdImageFrameCPT.rescale(1.10); // add 10 % margin.
144  // We cannot use FittedStarList::ExtractInFrame, because it does an actual copy, which we don't want
145  // here: we want the pointers in the StarMatch to refer to fittedStarList elements.
146  FittedStarList toMatch;
147 
148  for (auto const &fittedStar : fittedStarList) {
149  if (ccdImageFrameCPT.inFrame(*fittedStar)) {
150  toMatch.push_back(fittedStar);
151  }
152  }
153 
154  // divide by 3600 because coordinates in CTP are in degrees.
155  auto starMatchList = listMatchCollect(Measured2Base(catalog), Fitted2Base(toMatch),
156  toCommonTangentPlane.get(), matchCutInArcSec / 3600.);
157 
158  /* should check what this removeAmbiguities does... */
159  LOGLS_DEBUG(_log, "Measured-to-Fitted matches before removing ambiguities " << starMatchList->size());
160  starMatchList->removeAmbiguities(*toCommonTangentPlane);
161  LOGLS_DEBUG(_log, "Measured-to-Fitted matches after removing ambiguities " << starMatchList->size());
162 
163  // Associate MeasuredStar -> FittedStar using the surviving matches.
164 
165  int matchedCount = 0;
166  for (auto const &starMatch : *starMatchList) {
167  auto bs = starMatch.s1;
168  auto ms_const = std::dynamic_pointer_cast<const MeasuredStar>(bs);
169  auto ms = std::const_pointer_cast<MeasuredStar>(ms_const);
170  auto bs2 = starMatch.s2;
171  auto fs_const = std::dynamic_pointer_cast<const FittedStar>(bs2);
172  auto fs = std::const_pointer_cast<FittedStar>(fs_const);
173  ms->setFittedStar(fs);
174  matchedCount++;
175  }
176  LOGLS_INFO(_log, "Matched " << matchedCount << " objects in " << ccdImage->getName());
177 
178  // add unmatched objets to FittedStarList
179  int unMatchedCount = 0;
180  for (auto const &mstar : catalog) {
181  // to check if it was matched, just check if it has a fittedStar Pointer assigned
182  if (mstar->getFittedStar()) continue;
183  if (enlargeFittedList) {
184  auto fs = std::make_shared<FittedStar>(*mstar);
185  // transform coordinates to CommonTangentPlane
186  toCommonTangentPlane->transformPosAndErrors(*fs, *fs);
188  mstar->setFittedStar(fs);
189  }
190  unMatchedCount++;
191  }
192  LOGLS_INFO(_log, "Unmatched objects: " << unMatchedCount);
193  } // end of loop on CcdImages
194 
195  // !!!!!!!!!!!!!!!!!
196  // TODO: DO WE REALLY NEED THIS???
197  // Why do we need to do this, instead of directly computing them in normalizeFittedStars?
198  // What makes the magnitudes special here?
199  // !!!!!!!!!!!!!!!!!
200  // assignMags();
201 }
#define LOGLS_INFO(logger, message)
Log a info-level message using an iostream-based interface.
Definition: Log.h:628
#define LOGLS_DEBUG(logger, message)
Log a debug-level message using an iostream-based interface.
Definition: Log.h:608
FittedStarList fittedStarList
Definition: Associations.h:58
T clear(T... args)
T get(T... args)
BaseStarList & Measured2Base(MeasuredStarList &This)
Definition: MeasuredStar.cc:58
std::unique_ptr< StarMatchList > listMatchCollect(const BaseStarList &list1, const BaseStarList &list2, const AstrometryTransform *guess, const double maxDist)
assembles star matches.
Definition: ListMatch.cc:569
BaseStarList & Fitted2Base(FittedStarList &This)
Definition: FittedStar.cc:64

◆ collectRefStars()

void lsst::jointcal::Associations::collectRefStars ( afw::table::SimpleCatalog refCat,
geom::Angle  matchCut,
std::string const &  fluxField,
float  refCoordinateErr,
bool  rejectBadFluxes = false 
)

Collect stars from an external reference catalog and associate them with fittedStars.

Parameters
refCatThe catalog of reference sources
[in]matchCutSeparation radius to match fitted and reference stars.
fluxFieldThe field name in refCat to get the flux from.
refCoordinateErrError on reference catalog coordinates [mas]. If not NaN, this overrides the coord_*_err values in the reference catalog itself. This value is divided by cos(dec) before being used for ra_err.
rejectBadFluxesReject reference sources with flux=NaN or 0 and/or fluxErr=NaN or 0. Typically false for astrometry and true for photometry.

Definition at line 203 of file Associations.cc.

205  {
206  if (refCat.size() == 0) {
207  throw(LSST_EXCEPT(pex::exceptions::InvalidParameterError,
208  " reference catalog is empty : stop here "));
209  }
210 
211  afw::table::CoordKey coordKey = refCat.getSchema()["coord"];
212  // Handle reference catalogs that don't have position errors.
213  afw::table::Key<float> raErrKey;
214  afw::table::Key<float> decErrKey;
215  if (std::isnan(refCoordinateErr)) {
216  raErrKey = refCat.getSchema()["coord_raErr"];
217  decErrKey = refCat.getSchema()["coord_decErr"];
218  }
219 
220  auto fluxKey = refCat.getSchema().find<double>(fluxField).key;
221  // Handle reference catalogs that don't have flux errors.
222  afw::table::Key<double> fluxErrKey;
223  try {
224  fluxErrKey = refCat.getSchema().find<double>(fluxField + "Err").key;
225  } catch (pex::exceptions::NotFoundError &) {
226  LOGLS_WARN(_log, "Flux error field ("
227  << fluxField << "Err"
228  << ") not found in reference catalog. Not using ref flux errors.");
229  }
230 
231  refStarList.clear();
232  for (size_t i = 0; i < refCat.size(); i++) {
233  auto const &record = refCat.get(i);
234 
235  auto coord = record->get(coordKey);
236  double flux = record->get(fluxKey);
237  double fluxErr;
238  if (fluxErrKey.isValid()) {
239  fluxErr = record->get(fluxErrKey);
240  } else {
242  }
243  double ra = lsst::geom::radToDeg(coord.getLongitude());
244  double dec = lsst::geom::radToDeg(coord.getLatitude());
245  auto star = std::make_shared<RefStar>(ra, dec, flux, fluxErr);
246 
247  if (std::isnan(refCoordinateErr)) {
248  // refcat errors are unitless but stored as radians: convert to deg**2
249  star->vx = std::pow(lsst::geom::radToDeg(record->get(raErrKey)), 2);
250  star->vy = std::pow(lsst::geom::radToDeg(record->get(decErrKey)), 2);
251  } else {
252  // Convert the fake errors from mas to deg**2
253  star->vx = std::pow(refCoordinateErr / 1000. / 3600. / std::cos(coord.getLatitude()), 2);
254  star->vy = std::pow(refCoordinateErr / 1000. / 3600., 2);
255  }
256  // TODO: cook up a covariance as none of our current refcats have it
257  star->vxy = 0.;
258 
259  // Reject sources with non-finite fluxes and flux errors, and fluxErr=0 (which gives chi2=inf).
260  if (rejectBadFluxes && (!std::isfinite(flux) || !std::isfinite(fluxErr) || fluxErr <= 0)) continue;
261  refStarList.push_back(star);
262  }
263 
264  // project on CTP (i.e. RaDec2CTP), in degrees
265  AstrometryTransformLinear identity;
266  TanRaDecToPixel raDecToCommonTangentPlane(identity, _commonTangentPoint);
267 
268  associateRefStars(matchCut.asArcseconds(), &raDecToCommonTangentPlane);
269 }
#define LSST_EXCEPT(type,...)
Create an exception with a given type.
Definition: Exception.h:48
#define LOGLS_WARN(logger, message)
Log a warn-level message using an iostream-based interface.
Definition: Log.h:648
double dec
Definition: Match.cc:41
Key< U > key
Definition: Schema.cc:281
constexpr double asArcseconds() const noexcept
Return an Angle's value in arcseconds.
Definition: Angle.h:178
T cos(T... args)
T isfinite(T... args)
T isnan(T... args)
constexpr double radToDeg(double x) noexcept
Definition: Angle.h:52
T pow(T... args)
T quiet_NaN(T... args)

◆ computeBoundingCircle()

lsst::sphgeom::Circle lsst::jointcal::Associations::computeBoundingCircle ( ) const

Return the bounding circle in on-sky (RA, Dec) coordinates containing all CcdImages.

Requires that computeCommonTangentPoint() be called first, so that sensor bounding boxes can be transformed into the common tangent plane.

Definition at line 90 of file Associations.cc.

90  {
91  // Compute the frame on the common tangent plane that contains all input images.
92  Frame tangentPlaneFrame;
93 
94  for (auto const &ccdImage : ccdImageList) {
95  Frame CTPFrame = ccdImage->getPixelToCommonTangentPlane()->apply(ccdImage->getImageFrame(), false);
96  if (tangentPlaneFrame.getArea() == 0)
97  tangentPlaneFrame = CTPFrame;
98  else
99  tangentPlaneFrame += CTPFrame;
100  }
101 
102  // Convert tangent plane coordinates to RaDec.
103  AstrometryTransformLinear identity;
104  TanPixelToRaDec commonTangentPlaneToRaDec(identity, _commonTangentPoint);
105  Frame raDecFrame = commonTangentPlaneToRaDec.apply(tangentPlaneFrame, false);
106 
108  points.reserve(4);
109  // raDecFrame is in on-sky (RA,Dec) degrees stored as an x/y box:
110  // the on-sky bounding box it represents is given by the corners of that box.
111  points.emplace_back(sphgeom::LonLat::fromDegrees(raDecFrame.xMin, raDecFrame.yMin));
112  points.emplace_back(sphgeom::LonLat::fromDegrees(raDecFrame.xMax, raDecFrame.yMin));
113  points.emplace_back(sphgeom::LonLat::fromDegrees(raDecFrame.xMin, raDecFrame.yMax));
114  points.emplace_back(sphgeom::LonLat::fromDegrees(raDecFrame.xMax, raDecFrame.yMax));
115 
117 }
static ConvexPolygon convexHull(std::vector< UnitVector3d > const &points)
convexHull returns the convex hull of the given set of points if it exists and throws an exception ot...
Definition: ConvexPolygon.h:65
Circle getBoundingCircle() const override
getBoundingCircle returns a bounding-circle for this region.
static LonLat fromDegrees(double lon, double lat)
Definition: LonLat.h:50
T emplace_back(T... args)
T reserve(T... args)

◆ computeCommonTangentPoint()

void lsst::jointcal::Associations::computeCommonTangentPoint ( )

Sets a shared tangent point for all ccdImages, using the mean of the centers of all ccdImages.

Definition at line 74 of file Associations.cc.

74  {
76  centers.reserve(ccdImageList.size());
77  for (auto const &ccdImage : ccdImageList) {
78  centers.push_back(ccdImage->getBoresightRaDec());
79  }
80  auto commonTangentPoint = geom::averageSpherePoint(centers);
81  LOGLS_DEBUG(_log, "Using common tangent point: " << commonTangentPoint.getPosition(geom::degrees));
82  setCommonTangentPoint(commonTangentPoint.getPosition(geom::degrees));
83 }
void setCommonTangentPoint(lsst::geom::Point2D const &commonTangentPoint)
Sets a shared tangent point for all ccdImages.
Definition: Associations.cc:85
SpherePoint averageSpherePoint(std::vector< SpherePoint > const &coords)
Return the average of a list of coordinates.
Definition: SpherePoint.cc:235
constexpr AngleUnit degrees
constant with units of degrees
Definition: Angle.h:109
T size(T... args)

◆ createCcdImage()

void lsst::jointcal::Associations::createCcdImage ( afw::table::SourceCatalog catalog,
std::shared_ptr< lsst::afw::geom::SkyWcs wcs,
std::shared_ptr< lsst::afw::image::VisitInfo visitInfo,
lsst::geom::Box2I const &  bbox,
std::string const &  filter,
std::shared_ptr< afw::image::PhotoCalib photoCalib,
std::shared_ptr< afw::cameraGeom::Detector detector,
int  visit,
int  ccd,
lsst::jointcal::JointcalControl const &  control 
)

Create a ccdImage from an exposure catalog and metadata, and add it to the list.

Parameters
[in]catalogThe extracted source catalog, selected for good astrometric sources.
[in]wcsThe exposure's original wcs
[in]visitInfoThe exposure's visitInfo object
[in]bboxThe bounding box of the exposure
[in]filterThe exposure's filter
[in]photoCalibThe exposure's photometric calibration
[in]detectorThe exposure's detector
[in]visitThe visit identifier
[in]ccdThe ccd identifier
[in]controlThe JointcalControl object

Definition at line 62 of file Associations.cc.

68  {
69  auto ccdImage = std::make_shared<CcdImage>(catalog, wcs, visitInfo, bbox, filter, photoCalib, detector,
70  visit, ccd, control.sourceFluxField);
71  ccdImageList.push_back(ccdImage);
72 }
AmpInfoBoxKey bbox
Definition: Amplifier.cc:117
table::Key< int > detector
table::Key< table::Array< std::uint8_t > > wcs
Definition: SkyWcs.cc:71
Key< int > visitInfo
Definition: Exposure.cc:70
Key< int > photoCalib
Definition: Exposure.cc:67

◆ deprojectFittedStars()

void lsst::jointcal::Associations::deprojectFittedStars ( )

Sends back the fitted stars coordinates on the sky FittedStarsList::inTangentPlaneCoordinates keeps track of that.

Definition at line 393 of file Associations.cc.

393  {
394  // By default, Associations::fittedStarList is expressed on the Associations::commonTangentPlane.
395  // For AstrometryFit, we need it on the sky.
397  LOGLS_WARN(_log,
398  "DeprojectFittedStars: Fitted stars are already in sidereal coordinates, nothing done ");
399  return;
400  }
401 
402  TanPixelToRaDec ctp2Sky(AstrometryTransformLinear(), getCommonTangentPoint());
405 }
Point getCommonTangentPoint() const
can be used to project sidereal coordinates related to the image set on a plane.
Definition: Associations.h:105
void applyTransform(const Operator &op)
enables to apply a geometrical transform if Star is Basestar or derives from it.
Definition: StarList.h:98

◆ fittedStarListSize()

size_t lsst::jointcal::Associations::fittedStarListSize ( )
inline

Definition at line 63 of file Associations.h.

63 { return fittedStarList.size(); }

◆ getCcdImageList()

CcdImageList const& lsst::jointcal::Associations::getCcdImageList ( ) const
inline

Definition at line 171 of file Associations.h.

171 { return ccdImageList; }

◆ getCommonTangentPoint()

Point lsst::jointcal::Associations::getCommonTangentPoint ( ) const
inline

can be used to project sidereal coordinates related to the image set on a plane.

Definition at line 105 of file Associations.h.

105 { return _commonTangentPoint; }

◆ getNFilters()

unsigned lsst::jointcal::Associations::getNFilters ( ) const
inline

Number of different bands in the input image list. Not implemented so far.

Definition at line 174 of file Associations.h.

174 { return 1; }

◆ nCcdImagesValidForFit()

int lsst::jointcal::Associations::nCcdImagesValidForFit ( ) const

return the number of CcdImages with non-empty catalogs to-be-fit.

Definition at line 407 of file Associations.cc.

407  {
409  return item->getCatalogForFit().size() > 0;
410  });
411 }
T begin(T... args)
T count_if(T... args)
T end(T... args)

◆ nFittedStarsWithAssociatedRefStar()

size_t lsst::jointcal::Associations::nFittedStarsWithAssociatedRefStar ( ) const

Return the number of fittedStars that have an associated refStar.

Definition at line 413 of file Associations.cc.

413  {
414  size_t count = 0;
415  for (auto const &fittedStar : fittedStarList) {
416  if ((fittedStar != nullptr) & (fittedStar->getRefStar() != nullptr)) count++;
417  }
418  return count;
419 }

◆ operator=() [1/2]

Associations& lsst::jointcal::Associations::operator= ( Associations &&  )
delete

◆ operator=() [2/2]

Associations& lsst::jointcal::Associations::operator= ( Associations const &  )
delete

◆ prepareFittedStars()

void lsst::jointcal::Associations::prepareFittedStars ( int  minMeasurements)

Set the color field of FittedStar 's from a colored catalog.

Prepare the fittedStar list by making quality cuts and normalizing measurements.

Parameters
[in]minMeasurementsThe minimum number of measuredStars for a FittedStar to be included.

Definition at line 297 of file Associations.cc.

297  {
298  selectFittedStars(minMeasurements);
299  normalizeFittedStars();
300 }

◆ refStarListSize()

size_t lsst::jointcal::Associations::refStarListSize ( )
inline

Definition at line 62 of file Associations.h.

62 { return refStarList.size(); }

◆ setCommonTangentPoint()

void lsst::jointcal::Associations::setCommonTangentPoint ( lsst::geom::Point2D const &  commonTangentPoint)

Sets a shared tangent point for all ccdImages.

Parameters
commonTangentPointThe common tangent point of all input images (decimal degrees).

Definition at line 85 of file Associations.cc.

85  {
86  _commonTangentPoint = Point(commonTangentPoint.getX(), commonTangentPoint.getY()); // a jointcal::Point
87  for (auto &ccdImage : ccdImageList) ccdImage->setCommonTangentPoint(_commonTangentPoint);
88 }

Member Data Documentation

◆ ccdImageList

CcdImageList lsst::jointcal::Associations::ccdImageList

Definition at line 56 of file Associations.h.

◆ fittedStarList

FittedStarList lsst::jointcal::Associations::fittedStarList

Definition at line 58 of file Associations.h.

◆ refStarList

RefStarList lsst::jointcal::Associations::refStarList

Definition at line 57 of file Associations.h.


The documentation for this class was generated from the following files: