lsst.jointcal  15.0-17-g076ea75+12
MeasuredStar.h
Go to the documentation of this file.
1 // -*- LSST-C++ -*-
2 #ifndef LSST_JOINTCAL_MEASURED_STAR_H
3 #define LSST_JOINTCAL_MEASURED_STAR_H
4 
5 #include <iostream>
6 
7 #include "lsst/afw/table/misc.h"
10 #include "lsst/jointcal/StarList.h"
11 
12 namespace lsst {
13 namespace jointcal {
14 
15 class CcdImage;
16 
19 class MeasuredStar : public BaseStar {
20 public:
21  double mag;
22  double wmag;
23  double chi2;
24 
26  : BaseStar(),
27  mag(0.),
28  wmag(0.),
29  _id(0),
30  _instFlux(0.),
31  _instFluxErr(0.),
32  _ccdImage(0),
33  _valid(true),
34  _xFocal(0.0),
35  _yFocal(0.0) {}
36 
37  MeasuredStar(BaseStar const &baseStar)
38  : BaseStar(baseStar),
39  mag(0.),
40  wmag(0.),
41  _id(0),
42  _instFluxErr(0.),
43  _ccdImage(0),
44  _valid(true),
45  _xFocal(0.0),
46  _yFocal(0.0) {}
47 
50  MeasuredStar(MeasuredStar const &) = default;
51  MeasuredStar(MeasuredStar &&) = delete;
52  MeasuredStar &operator=(MeasuredStar const &) = delete;
53  MeasuredStar &operator=(MeasuredStar &&) = delete;
54 
56  if (fittedStar) fittedStar->getMeasurementCount()++;
57  _fittedStar = std::move(fittedStar);
58  }
59 
60  void dump(std::ostream &stream = std::cout) const {
61  BaseStar::dump(stream);
62  stream << " instFlux: " << _instFlux << " instFluxErr: " << _instFluxErr << " id: " << _id
63  << " valid: " << _valid;
64  }
65 
66  void setInstFlux(double instFlux) { _instFlux = instFlux; }
67  void setInstFluxErr(double instFluxErr) { _instFluxErr = instFluxErr; }
68 
69  double getInstFlux() const { return _instFlux; }
70  double getInstFluxErr() const { return _instFluxErr; }
71  double getMag() const { return mag; }
72 
73  void setId(afw::table::RecordId id) { _id = id; }
74  afw::table::RecordId getId() { return _id; }
75 
77  double getMagWeight() const { return (_instFlux * _instFlux / (_instFluxErr * _instFluxErr)); }
78 
79  double getXFocal() const { return _xFocal; }
80  void setXFocal(double xFocal) { _xFocal = xFocal; }
81  double getYFocal() const { return _yFocal; }
82  void setYFocal(double yFocal) { _yFocal = yFocal; }
83 
84  std::shared_ptr<FittedStar> getFittedStar() const { return _fittedStar; };
85 
86  CcdImage const &getCcdImage() const { return *_ccdImage; };
87 
88  void setCcdImage(const CcdImage *ccdImage) { _ccdImage = ccdImage; };
89 
91  bool isValid() const { return _valid; }
93  void setValid(bool v) { _valid = v; }
94 
95 private:
96  afw::table::RecordId _id; // id in original catalog
97 
98  // on-chip flux, in ADU
99  double _instFlux;
100  double _instFluxErr;
101 
102  const CcdImage *_ccdImage;
103  // Note: _fittedStar is not const, but measuredStar won't modify it.
104  std::shared_ptr<FittedStar> _fittedStar;
105  bool _valid;
106 
107  double _xFocal, _yFocal;
108 };
109 
110 /****** MeasuredStarList */
111 
113 class MeasuredStarList : public StarList<MeasuredStar> {
114 public:
116 
117  void setCcdImage(const CcdImage *_ccdImage);
118 };
119 
120 typedef MeasuredStarList::const_iterator MeasuredStarCIterator;
121 typedef MeasuredStarList::iterator MeasuredStarIterator;
122 
125 const BaseStarList &Measured2Base(const MeasuredStarList &This);
126 const BaseStarList *Measured2Base(const MeasuredStarList *This);
127 } // namespace jointcal
128 } // namespace lsst
129 
130 #endif // LSST_JOINTCAL_MEASURED_STAR_H
void setXFocal(double xFocal)
Definition: MeasuredStar.h:80
virtual void dump(std::ostream &stream=std::cout) const
utility
Definition: BaseStar.h:46
void setInstFluxErr(double instFluxErr)
Definition: MeasuredStar.h:67
MeasuredStarList::iterator MeasuredStarIterator
Definition: MeasuredStar.h:121
MeasuredStar(BaseStar const &baseStar)
Definition: MeasuredStar.h:37
CcdImage const & getCcdImage() const
Definition: MeasuredStar.h:86
MeasuredStar & operator=(MeasuredStar const &)=delete
void setCcdImage(const CcdImage *ccdImage)
Definition: MeasuredStar.h:88
A list of MeasuredStar. They are usually filled in Associations::createCcdImage.
Definition: MeasuredStar.h:113
void setYFocal(double yFocal)
Definition: MeasuredStar.h:82
The base class for handling stars. Used by all matching routines.
Definition: BaseStar.h:22
afw::table::RecordId getId()
Definition: MeasuredStar.h:74
void dump(std::ostream &stream=std::cout) const
utility
Definition: MeasuredStar.h:60
std::lists of Stars.
Definition: StarList.h:35
void setFittedStar(std::shared_ptr< FittedStar > fittedStar)
Definition: MeasuredStar.h:55
Class for a simple mapping implementing a generic Gtransfo.
MeasuredStarList::const_iterator MeasuredStarCIterator
Definition: MeasuredStar.h:120
double getInstFluxErr() const
Definition: MeasuredStar.h:70
objects measured on actual images.
Definition: MeasuredStar.h:19
double getMagWeight() const
the inverse of the mag variance
Definition: MeasuredStar.h:77
T move(T... args)
void setValid(bool v)
Fits may use that to discard outliers.
Definition: MeasuredStar.h:93
BaseStarList & Measured2Base(MeasuredStarList &This)
Definition: MeasuredStar.cc:35
Handler of an actual image from a single CCD.
Definition: CcdImage.h:35
void setId(afw::table::RecordId id)
Definition: MeasuredStar.h:73
bool isValid() const
Fits may use that to discard outliers.
Definition: MeasuredStar.h:91
std::shared_ptr< FittedStar > getFittedStar() const
Definition: MeasuredStar.h:84
STL class.
void setInstFlux(double instFlux)
Definition: MeasuredStar.h:66