lsst.jointcal  14.0-17-ge3cc87b+9
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 
10 
11 namespace lsst {
12 namespace jointcal {
13 
14 class CcdImage;
15 
18 class MeasuredStar : public BaseStar {
19 public:
20  double mag;
21  double wmag;
22  double chi2;
23 
25  : BaseStar(),
26  mag(0.),
27  wmag(0.),
28  _id(0),
29  _instFlux(0.),
30  _instFluxErr(0.),
31  _ccdImage(0),
32  _valid(true),
33  _xFocal(0.0),
34  _yFocal(0.0) {}
35 
36  MeasuredStar(BaseStar const &baseStar)
37  : BaseStar(baseStar),
38  mag(0.),
39  wmag(0.),
40  _id(0),
41  _instFluxErr(0.),
42  _ccdImage(0),
43  _valid(true),
44  _xFocal(0.0),
45  _yFocal(0.0) {}
46 
49  MeasuredStar(MeasuredStar const &) = default;
50  MeasuredStar(MeasuredStar &&) = delete;
51  MeasuredStar &operator=(MeasuredStar const &) = delete;
52  MeasuredStar &operator=(MeasuredStar &&) = delete;
53 
55  if (fittedStar) fittedStar->getMeasurementCount()++;
56  _fittedStar = std::move(fittedStar);
57  }
58 
59  void dump(std::ostream &stream = std::cout) const {
60  BaseStar::dump(stream);
61  stream << " instFlux: " << _instFlux << " instFluxErr: " << _instFluxErr << " id: " << _id
62  << " valid: " << _valid;
63  }
64 
65  void setInstFlux(double instFlux) { _instFlux = instFlux; }
66  void setInstFluxErr(double instFluxErr) { _instFluxErr = instFluxErr; }
67 
68  double getInstFlux() const { return _instFlux; }
69  double getInstFluxErr() const { return _instFluxErr; }
70  double getMag() const { return mag; }
71 
72  void setId(unsigned id) { _id = id; }
73  unsigned getId() { return _id; }
74 
76  double getMagWeight() const { return (_instFlux * _instFlux / (_instFluxErr * _instFluxErr)); }
77 
78  double getXFocal() const { return _xFocal; }
79  void setXFocal(double xFocal) { _xFocal = xFocal; }
80  double getYFocal() const { return _yFocal; }
81  void setYFocal(double yFocal) { _yFocal = yFocal; }
82 
83  std::shared_ptr<const FittedStar> getFittedStar() const { return _fittedStar; };
84 
85  CcdImage const &getCcdImage() const { return *_ccdImage; };
86 
87  void setCcdImage(const CcdImage *ccdImage) { _ccdImage = ccdImage; };
88 
90  bool isValid() const { return _valid; }
92  void setValid(bool v) { _valid = v; }
93 
94 private:
95  unsigned _id; // id in original catalog
96 
97  // on-chip flux, in ADU
98  double _instFlux;
99  double _instFluxErr;
100 
101  const CcdImage *_ccdImage;
103  bool _valid;
104 
105  double _xFocal, _yFocal;
106 };
107 
108 /****** MeasuredStarList */
109 
111 class MeasuredStarList : public StarList<MeasuredStar> {
112 public:
114 
115  void setCcdImage(const CcdImage *_ccdImage);
116 };
117 
118 typedef MeasuredStarList::const_iterator MeasuredStarCIterator;
119 typedef MeasuredStarList::iterator MeasuredStarIterator;
120 
123 const BaseStarList &Measured2Base(const MeasuredStarList &This);
124 const BaseStarList *Measured2Base(const MeasuredStarList *This);
125 } // namespace jointcal
126 } // namespace lsst
127 
128 #endif // LSST_JOINTCAL_MEASURED_STAR_H
void setXFocal(double xFocal)
Definition: MeasuredStar.h:79
virtual void dump(std::ostream &stream=std::cout) const
utility
Definition: BaseStar.h:46
void setInstFluxErr(double instFluxErr)
Definition: MeasuredStar.h:66
MeasuredStarList::iterator MeasuredStarIterator
Definition: MeasuredStar.h:119
MeasuredStar(BaseStar const &baseStar)
Definition: MeasuredStar.h:36
CcdImage const & getCcdImage() const
Definition: MeasuredStar.h:85
MeasuredStar & operator=(MeasuredStar const &)=delete
void setCcdImage(const CcdImage *ccdImage)
Definition: MeasuredStar.h:87
A list of MeasuredStar. They are usually filled in Associations::AddImage.
Definition: MeasuredStar.h:111
void setYFocal(double yFocal)
Definition: MeasuredStar.h:81
The base class for handling stars. Used by all matching routines.
Definition: BaseStar.h:22
void dump(std::ostream &stream=std::cout) const
utility
Definition: MeasuredStar.h:59
std::lists of Stars.
Definition: StarList.h:35
void setFittedStar(std::shared_ptr< FittedStar > fittedStar)
Definition: MeasuredStar.h:54
Class for a simple mapping implementing a generic Gtransfo.
MeasuredStarList::const_iterator MeasuredStarCIterator
Definition: MeasuredStar.h:118
double getInstFluxErr() const
Definition: MeasuredStar.h:69
objects measured on actual images.
Definition: MeasuredStar.h:18
double getMagWeight() const
the inverse of the mag variance
Definition: MeasuredStar.h:76
T move(T... args)
std::shared_ptr< const FittedStar > getFittedStar() const
Definition: MeasuredStar.h:83
void setValid(bool v)
Fits may use that to discard outliers.
Definition: MeasuredStar.h:92
BaseStarList & Measured2Base(MeasuredStarList &This)
Definition: MeasuredStar.cc:35
void setId(unsigned id)
Definition: MeasuredStar.h:72
Handler of an actual image from a single CCD.
Definition: CcdImage.h:34
bool isValid() const
Fits may use that to discard outliers.
Definition: MeasuredStar.h:90
STL class.
void setInstFlux(double instFlux)
Definition: MeasuredStar.h:65