24#ifndef LSST_AFW_IMAGE_VISITINFO_H_INCLUDED
25#define LSST_AFW_IMAGE_VISITINFO_H_INCLUDED
113 _boresightAzAlt(boresightAzAlt),
117 _observatory(observatory),
238 double _exposureTime;
245 double _boresightAirmass;
257 bool _hasSimulatedContent;
table::Key< std::string > observationReason
table::Key< std::string > scienceProgram
table::Key< std::string > observationType
table::Key< double > exposureTime
table::Key< lsst::geom::Angle > era
table::Key< int > rotType
table::Key< double > darkTime
table::Key< std::string > instrumentLabel
table::CoordKey boresightRaDec
table::Key< double > boresightAirmass
table::Key< afw::table::Flag > hasSimulatedContent
table::Key< double > focusZ
table::Key< lsst::geom::Angle > boresightRotAngle
Hold the location of an observatory.
Basic weather information sufficient for a simple model for air mass or refraction.
Information about a single exposure of an imaging camera.
std::string getPersistenceName() const override
Return the unique name used to persist this object and look up its factory.
daf::base::DateTime getDate() const
get uniform date and time at middle of exposure
VisitInfo(VisitInfo const &)=default
coord::Weather getWeather() const
get basic weather information
VisitInfo(double exposureTime, double darkTime, daf::base::DateTime const &date, double ut1, lsst::geom::Angle const &era, lsst::geom::SpherePoint const &boresightRaDec, lsst::geom::SpherePoint const &boresightAzAlt, double boresightAirmass, lsst::geom::Angle const &boresightRotAngle, RotType const &rotType, coord::Observatory const &observatory, coord::Weather const &weather, std::string const &instrumentLabel, table::RecordId const &id, double focusZ, std::string const &observationType, std::string const &scienceProgram, std::string const &observationReason, std::string const &object, bool hasSimulatedContent)
Construct a VisitInfo.
lsst::geom::Angle getLocalEra() const
~VisitInfo() override=default
double getUt1() const
get UT1 (universal time) MJD date at middle of exposure
double getBoresightAirmass() const
get airmass at the boresight, relative to zenith at sea level (and at the middle of the exposure,...
std::string getScienceProgram() const
lsst::geom::Angle getBoresightHourAngle() const
lsst::geom::Angle getBoresightRotAngle() const
Get rotation angle at boresight at middle of exposure.
VisitInfo & operator=(VisitInfo const &)=default
std::size_t hash_value() const noexcept override
Return a hash of this object.
bool operator==(VisitInfo const &other) const
bool operator!=(VisitInfo const &other) const
lsst::geom::Angle getEra() const
get earth rotation angle at middle of exposure
bool isPersistable() const noexcept override
Return true if this particular object can be persisted using afw::table::io.
table::RecordId getId() const
VisitInfo & operator=(VisitInfo &&)=default
std::string getObservationReason() const
std::string toString() const override
Create a string representation of this object.
double getExposureTime() const
get exposure duration (shutter open time); (sec)
RotType getRotType() const
get rotation type of boresightRotAngle
bool equals(typehandling::Storable const &other) const noexcept override
Compare this object to another Storable.
lsst::geom::SpherePoint getBoresightAzAlt() const
get refracted apparent topocentric Az/Alt position at the boresight (and at the middle of the exposur...
std::string getObject() const
lsst::geom::SpherePoint getBoresightRaDec() const
get ICRS RA/Dec position at the boresight (and at the middle of the exposure, if it varies with time)
std::shared_ptr< typehandling::Storable > cloneStorable() const override
Create a new VisitInfo that is a copy of this one.
VisitInfo(VisitInfo &&)=default
std::string getInstrumentLabel() const
bool getHasSimulatedContent() const
double getDarkTime() const
get time from CCD flush to exposure readout, including shutter open time (despite the name); (sec)
coord::Observatory getObservatory() const
get observatory longitude, latitude and elevation
lsst::geom::Angle getBoresightParAngle() const
Get parallactic angle at the boresight.
void write(OutputArchiveHandle &handle) const override
Write the object to one or more catalogs.
std::string getObservationType() const
A CRTP facade class for subclasses of Persistable.
io::OutputArchiveHandle OutputArchiveHandle
Interface supporting iteration over heterogenous containers.
Class for handling dates/times, including MJD, UTC, and TAI.
Class for storing ordered metadata with comments.
Class for storing generic metadata.
A class representing an angle.
Point in an unspecified spherical coordinate system.
int stripVisitInfoKeywords(daf::base::PropertySet &metadata)
Remove VisitInfo-related keywords from the metadata.
void setVisitInfoMetadata(daf::base::PropertyList &metadata, VisitInfo const &visitInfo)
Set FITS metadata from a VisitInfo.
std::ostream & operator<<(std::ostream &os, Measurement const &measurement)
@ HORIZON
Position angle of focal plane +Y, measured from +Alt through +Az.
@ MOUNT
The position sent to the instrument rotator; the details depend on the rotator.
@ UNKNOWN
Rotation angle is unknown.
@ SKY
Position angle of focal plane +Y, measured from N through E.
decltype(sizeof(void *)) size_t
size_t operator()(argument_type const &obj) const noexcept