lsst.jointcal  master-gc5b79683b0+1
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 
24 private:
25  unsigned _id; // id in original catalog
26 
27  // on-chip flux, in ADU
28  double _instFlux;
29  double _instFluxErr;
30 
31  const CcdImage *_ccdImage;
32  std::shared_ptr<const FittedStar> _fittedStar;
33  bool _valid;
34 
35  double _xFocal, _yFocal;
36 
37 public:
40  : BaseStar(),
41  mag(0.),
42  wmag(0.),
43  _id(0),
44  _instFlux(0.),
45  _instFluxErr(0.),
46  _ccdImage(0),
47  _valid(true),
48  _xFocal(0.0),
49  _yFocal(0.0) {}
50 
51  MeasuredStar(BaseStar const &baseStar)
52  : BaseStar(baseStar),
53  mag(0.),
54  wmag(0.),
55  _id(0),
56  _instFluxErr(0.),
57  _ccdImage(0),
58  _valid(true),
59  _xFocal(0.0),
60  _yFocal(0.0) {}
61 
64  MeasuredStar(MeasuredStar const &) = default;
65  MeasuredStar(MeasuredStar &&) = delete;
66  MeasuredStar &operator=(MeasuredStar const &) = delete;
67  MeasuredStar &operator=(MeasuredStar &&) = delete;
68 
69  void setFittedStar(std::shared_ptr<FittedStar> fittedStar) {
70  if (fittedStar) fittedStar->getMeasurementCount()++;
71  _fittedStar = std::move(fittedStar);
72  }
73 
74  void dump(std::ostream &stream = std::cout) const {
75  BaseStar::dump(stream);
76  stream << " instFlux: " << _instFlux << " instFluxErr: " << _instFluxErr << " id: " << _id
77  << " valid: " << _valid;
78  }
79 
80  void setInstFlux(double instFlux) { _instFlux = instFlux; }
81  void setInstFluxErr(double instFluxErr) { _instFluxErr = instFluxErr; }
82 
83  double getInstFlux() const { return _instFlux; }
84  double getInstFluxErr() const { return _instFluxErr; }
85  double getMag() const { return mag; }
86 
87  void setId(unsigned id) { _id = id; }
88  unsigned getId() { return _id; }
89 
91  double getMagWeight() const { return (_instFlux * _instFlux / (_instFluxErr * _instFluxErr)); }
92 
93  double getXFocal() const { return _xFocal; }
94  void setXFocal(double xFocal) { _xFocal = xFocal; }
95  double getYFocal() const { return _yFocal; }
96  void setYFocal(double yFocal) { _yFocal = yFocal; }
97 
98  std::shared_ptr<const FittedStar> getFittedStar() const { return _fittedStar; };
99 
100  CcdImage const &getCcdImage() const { return *_ccdImage; };
101 
102  void setCcdImage(const CcdImage *ccdImage) { _ccdImage = ccdImage; };
103 
105  bool isValid() const { return _valid; }
107  void setValid(bool v) { _valid = v; }
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:94
virtual void dump(std::ostream &stream=std::cout) const
utility
Definition: BaseStar.h:51
void setInstFluxErr(double instFluxErr)
Definition: MeasuredStar.h:81
MeasuredStarList::iterator MeasuredStarIterator
Definition: MeasuredStar.h:121
MeasuredStar(BaseStar const &baseStar)
Definition: MeasuredStar.h:51
CcdImage const & getCcdImage() const
Definition: MeasuredStar.h:100
MeasuredStar & operator=(MeasuredStar const &)=delete
void setCcdImage(const CcdImage *ccdImage)
Definition: MeasuredStar.h:102
A list of MeasuredStar. They are usually filled in Associations::AddImage.
Definition: MeasuredStar.h:113
void setYFocal(double yFocal)
Definition: MeasuredStar.h:96
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:74
std::lists of Stars.
Definition: StarList.h:35
void setFittedStar(std::shared_ptr< FittedStar > fittedStar)
Definition: MeasuredStar.h:69
Class for a simple mapping implementing a generic Gtransfo.
Definition: Associations.h:24
MeasuredStarList::const_iterator MeasuredStarCIterator
Definition: MeasuredStar.h:120
double getInstFluxErr() const
Definition: MeasuredStar.h:84
objects measured on actual images.
Definition: MeasuredStar.h:18
double getMagWeight() const
the inverse of the mag variance
Definition: MeasuredStar.h:91
std::shared_ptr< const FittedStar > getFittedStar() const
Definition: MeasuredStar.h:98
void setValid(bool v)
Fits may use that to discard outliers.
Definition: MeasuredStar.h:107
BaseStarList & Measured2Base(MeasuredStarList &This)
Definition: MeasuredStar.cc:35
void setId(unsigned id)
Definition: MeasuredStar.h:87
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:105
void setInstFlux(double instFlux)
Definition: MeasuredStar.h:80