lsst.jointcal
g29ae962dfc+b3ec54be14
Toggle main menu visibility
Loading...
Searching...
No Matches
include
lsst
jointcal
MeasuredStar.h
Go to the documentation of this file.
1
// -*- LSST-C++ -*-
2
/*
3
* This file is part of jointcal.
4
*
5
* Developed for the LSST Data Management System.
6
* This product includes software developed by the LSST Project
7
* (https://www.lsst.org).
8
* See the COPYRIGHT file at the top-level directory of this distribution
9
* for details of code ownership.
10
*
11
* This program is free software: you can redistribute it and/or modify
12
* it under the terms of the GNU General Public License as published by
13
* the Free Software Foundation, either version 3 of the License, or
14
* (at your option) any later version.
15
*
16
* This program is distributed in the hope that it will be useful,
17
* but WITHOUT ANY WARRANTY; without even the implied warranty of
18
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
* GNU General Public License for more details.
20
*
21
* You should have received a copy of the GNU General Public License
22
* along with this program. If not, see <https://www.gnu.org/licenses/>.
23
*/
24
25
#ifndef LSST_JOINTCAL_MEASURED_STAR_H
26
#define LSST_JOINTCAL_MEASURED_STAR_H
27
28
#include <iostream>
29
30
#include "
lsst/afw/table/misc.h
"
31
#include "
lsst/jointcal/BaseStar.h
"
32
#include "
lsst/jointcal/FittedStar.h
"
33
#include "
lsst/jointcal/StarList.h
"
34
35
namespace
lsst
{
36
namespace
jointcal
{
37
38
namespace
{
39
double
instMagFromInstFlux(
double
instFlux) {
return
-2.5 *
std::log10
(instFlux); }
40
}
// namespace
41
42
class
CcdImage
;
43
51
class
MeasuredStar
:
public
BaseStar
{
52
public
:
53
MeasuredStar
()
54
:
BaseStar
(),
55
_id(0),
56
_instFlux(0.),
57
_instFluxErr(0.),
58
_ccdImage(nullptr),
59
_valid(true),
60
_xFocal(0.0),
61
_yFocal(0.0),
62
_instMag(0.),
63
_instMagErr(0.) {}
64
65
MeasuredStar
(
BaseStar
const
&baseStar)
66
:
BaseStar
(baseStar),
67
_id(0),
68
_instFlux(0.),
69
_instFluxErr(0.),
70
_ccdImage(nullptr),
71
_valid(true),
72
_xFocal(0.0),
73
_yFocal(0.0),
74
_instMag(0.),
75
_instMagErr(0.) {}
76
79
MeasuredStar
(
MeasuredStar
const
&) =
default
;
80
MeasuredStar
(
MeasuredStar
&&) =
delete
;
81
MeasuredStar
&
operator=
(
MeasuredStar
const
&) =
delete
;
82
MeasuredStar
&
operator=
(
MeasuredStar
&&) =
delete
;
83
84
void
setFittedStar
(
std::shared_ptr<FittedStar>
fittedStar) {
85
if
(fittedStar) fittedStar->getMeasurementCount()++;
86
_fittedStar =
std::move
(fittedStar);
87
}
88
89
void
print
(
std::ostream
&out)
const
{
90
BaseStar::print
(out);
91
out <<
" instFlux: "
<< _instFlux <<
" instFluxErr: "
<< _instFluxErr <<
" id: "
<< _id
92
<<
" valid: "
<< _valid;
93
}
94
95
void
setInstFluxAndErr
(
double
instFlux,
double
instFluxErr) {
96
_instFlux = instFlux;
97
_instMag = instMagFromInstFlux(instFlux);
98
_instFluxErr = instFluxErr;
99
_instMagErr = magErrFromFluxErr(instFlux, instFluxErr);
100
}
101
102
double
getInstFlux
()
const
{
return
_instFlux; }
103
double
getInstFluxErr
()
const
{
return
_instFluxErr; }
104
double
getInstMag
()
const
{
return
_instMag; }
105
double
getInstMagErr
()
const
{
return
_instMagErr; }
106
107
void
setId
(
afw::table::RecordId
id
) { _id = id; }
108
afw::table::RecordId
getId
()
const
{
return
_id; }
109
111
double
getMagWeight
()
const
{
return
(_instFlux * _instFlux / (_instFluxErr * _instFluxErr)); }
112
113
double
getXFocal
()
const
{
return
_xFocal; }
114
void
setXFocal
(
double
xFocal) { _xFocal = xFocal; }
115
double
getYFocal
()
const
{
return
_yFocal; }
116
void
setYFocal
(
double
yFocal) { _yFocal = yFocal; }
117
118
std::shared_ptr<FittedStar>
getFittedStar
()
const
{
return
_fittedStar; };
119
120
CcdImage
const
&
getCcdImage
()
const
{
return
*_ccdImage; };
121
122
void
setCcdImage
(
const
CcdImage
*ccdImage) { _ccdImage = ccdImage; };
123
125
bool
isValid
()
const
{
return
_valid; }
127
void
setValid
(
bool
v) { _valid = v; }
128
129
private
:
130
afw::table::RecordId
_id;
// id in original catalog
131
132
// on-chip flux, in ADU
133
double
_instFlux;
134
double
_instFluxErr;
135
136
const
CcdImage
*_ccdImage;
137
// Note: _fittedStar is not const, but measuredStar won't modify it.
138
std::shared_ptr<FittedStar>
_fittedStar;
139
bool
_valid;
140
141
double
_xFocal, _yFocal;
142
143
// on-sensor "magnitudes", used when fitting the MagnitudeModel.
144
double
_instMag;
145
double
_instMagErr;
146
};
147
148
/****** MeasuredStarList */
149
151
class
MeasuredStarList
:
public
StarList
<MeasuredStar> {
152
public
:
153
MeasuredStarList
() =
default
;;
154
155
void
setCcdImage
(
const
CcdImage
*_ccdImage);
156
};
157
158
using
MeasuredStarCIterator
= MeasuredStarList::const_iterator;
159
using
MeasuredStarIterator
= MeasuredStarList::iterator;
160
161
BaseStarList
&
Measured2Base
(
MeasuredStarList
&This);
162
BaseStarList
*
Measured2Base
(
MeasuredStarList
*This);
163
const
BaseStarList
&
Measured2Base
(
const
MeasuredStarList
&This);
164
const
BaseStarList
*
Measured2Base
(
const
MeasuredStarList
*This);
165
}
// namespace jointcal
166
}
// namespace lsst
167
168
#endif
// LSST_JOINTCAL_MEASURED_STAR_H
BaseStar.h
FittedStar.h
StarList.h
std::ostream
lsst::jointcal::BaseStar::BaseStar
BaseStar()
Definition
BaseStar.h:53
lsst::jointcal::BaseStar::print
virtual void print(std::ostream &out) const
Definition
BaseStar.h:83
lsst::jointcal::CcdImage
Handler of an actual image from a single CCD.
Definition
CcdImage.h:64
lsst::jointcal::MeasuredStar::getInstFlux
double getInstFlux() const
Definition
MeasuredStar.h:102
lsst::jointcal::MeasuredStar::setFittedStar
void setFittedStar(std::shared_ptr< FittedStar > fittedStar)
Definition
MeasuredStar.h:84
lsst::jointcal::MeasuredStar::MeasuredStar
MeasuredStar(MeasuredStar const &)=default
No move, allow copy constructor: we may copy the fitted StarLists when associating and matching catal...
lsst::jointcal::MeasuredStar::setValid
void setValid(bool v)
Fits may use that to discard outliers.
Definition
MeasuredStar.h:127
lsst::jointcal::MeasuredStar::getInstMag
double getInstMag() const
Definition
MeasuredStar.h:104
lsst::jointcal::MeasuredStar::getXFocal
double getXFocal() const
Definition
MeasuredStar.h:113
lsst::jointcal::MeasuredStar::isValid
bool isValid() const
Fits may use that to discard outliers.
Definition
MeasuredStar.h:125
lsst::jointcal::MeasuredStar::setXFocal
void setXFocal(double xFocal)
Definition
MeasuredStar.h:114
lsst::jointcal::MeasuredStar::setCcdImage
void setCcdImage(const CcdImage *ccdImage)
Definition
MeasuredStar.h:122
lsst::jointcal::MeasuredStar::setInstFluxAndErr
void setInstFluxAndErr(double instFlux, double instFluxErr)
Definition
MeasuredStar.h:95
lsst::jointcal::MeasuredStar::MeasuredStar
MeasuredStar(MeasuredStar &&)=delete
lsst::jointcal::MeasuredStar::getCcdImage
CcdImage const & getCcdImage() const
Definition
MeasuredStar.h:120
lsst::jointcal::MeasuredStar::getInstFluxErr
double getInstFluxErr() const
Definition
MeasuredStar.h:103
lsst::jointcal::MeasuredStar::setYFocal
void setYFocal(double yFocal)
Definition
MeasuredStar.h:116
lsst::jointcal::MeasuredStar::getFittedStar
std::shared_ptr< FittedStar > getFittedStar() const
Definition
MeasuredStar.h:118
lsst::jointcal::MeasuredStar::getMagWeight
double getMagWeight() const
the inverse of the mag variance
Definition
MeasuredStar.h:111
lsst::jointcal::MeasuredStar::MeasuredStar
MeasuredStar()
Definition
MeasuredStar.h:53
lsst::jointcal::MeasuredStar::MeasuredStar
MeasuredStar(BaseStar const &baseStar)
Definition
MeasuredStar.h:65
lsst::jointcal::MeasuredStar::print
void print(std::ostream &out) const
Definition
MeasuredStar.h:89
lsst::jointcal::MeasuredStar::operator=
MeasuredStar & operator=(MeasuredStar const &)=delete
lsst::jointcal::MeasuredStar::operator=
MeasuredStar & operator=(MeasuredStar &&)=delete
lsst::jointcal::MeasuredStar::setId
void setId(afw::table::RecordId id)
Definition
MeasuredStar.h:107
lsst::jointcal::MeasuredStar::getInstMagErr
double getInstMagErr() const
Definition
MeasuredStar.h:105
lsst::jointcal::MeasuredStar::getId
afw::table::RecordId getId() const
Definition
MeasuredStar.h:108
lsst::jointcal::MeasuredStar::getYFocal
double getYFocal() const
Definition
MeasuredStar.h:115
lsst::jointcal::MeasuredStarList
A list of MeasuredStar. They are usually filled in Associations::createCcdImage.
Definition
MeasuredStar.h:151
lsst::jointcal::MeasuredStarList::MeasuredStarList
MeasuredStarList()=default
lsst::jointcal::MeasuredStarList::setCcdImage
void setCcdImage(const CcdImage *_ccdImage)
Definition
MeasuredStar.cc:68
lsst::jointcal::StarList< MeasuredStar >::StarList
StarList()=default
std::log10
T log10(T... args)
misc.h
std::move
T move(T... args)
lsst::afw::table::RecordId
std::int64_t RecordId
lsst::jointcal
Definition
Associations.h:50
lsst::jointcal::Measured2Base
BaseStarList & Measured2Base(MeasuredStarList &This)
Definition
MeasuredStar.cc:58
lsst::jointcal::MeasuredStarIterator
MeasuredStarList::iterator MeasuredStarIterator
Definition
MeasuredStar.h:159
lsst::jointcal::MeasuredStarCIterator
MeasuredStarList::const_iterator MeasuredStarCIterator
Definition
MeasuredStar.h:158
lsst::jointcal::BaseStarList
StarList< BaseStar > BaseStarList
Definition
BaseStar.h:121
lsst
std::shared_ptr
Generated on
for lsst.jointcal by
1.17.0