LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
Public Member Functions | List of all members
lsst::afw::coord::Weather Class Referencefinal

Basic weather information sufficient for a simple model for air mass or refraction. More...

#include <Weather.h>

Public Member Functions

 Weather (double airTemperature, double airPressure, double humidity)
 Construct a Weather. More...
 
 ~Weather () noexcept=default
 
 Weather (Weather const &) noexcept=default
 
 Weather (Weather &&) noexcept=default
 
Weatheroperator= (Weather const &) noexcept=default
 
Weatheroperator= (Weather &&) noexcept=default
 
bool operator== (Weather const &other) const noexcept
 
bool operator!= (Weather const &other) const noexcept
 
std::size_t hash_value () const noexcept
 Return a hash of this object. More...
 
double getAirTemperature () const noexcept
 get outside air temperature (C) More...
 
double getAirPressure () const noexcept
 get outside air pressure (Pascal) More...
 
double getHumidity () const noexcept
 get outside relative humidity (%) More...
 

Detailed Description

Basic weather information sufficient for a simple model for air mass or refraction.

Weather is immutable.

Definition at line 38 of file Weather.h.

Constructor & Destructor Documentation

◆ Weather() [1/3]

lsst::afw::coord::Weather::Weather ( double  airTemperature,
double  airPressure,
double  humidity 
)
explicit

Construct a Weather.

Parameters
[in]airTemperatureoutside air temperature (C)
[in]airPressureoutside air pressure (Pascal)
[in]humidityoutside relative humidity (%)
Exceptions
lsst::pex::exceptions::InvalidParameterErrorif humidity < 0

Definition at line 36 of file Weather.cc.

37  : _airTemperature(airTemperature), _airPressure(airPressure), _humidity(humidity) {
38  validate();
39 }
table::Key< double > airPressure
Definition: VisitInfo.cc:217
table::Key< double > airTemperature
Definition: VisitInfo.cc:216
table::Key< double > humidity
Definition: VisitInfo.cc:218

◆ ~Weather()

lsst::afw::coord::Weather::~Weather ( )
defaultnoexcept

◆ Weather() [2/3]

lsst::afw::coord::Weather::Weather ( Weather const &  )
defaultnoexcept

◆ Weather() [3/3]

lsst::afw::coord::Weather::Weather ( Weather &&  )
defaultnoexcept

Member Function Documentation

◆ getAirPressure()

double lsst::afw::coord::Weather::getAirPressure ( ) const
inlinenoexcept

get outside air pressure (Pascal)

Definition at line 67 of file Weather.h.

67 { return _airPressure; };

◆ getAirTemperature()

double lsst::afw::coord::Weather::getAirTemperature ( ) const
inlinenoexcept

get outside air temperature (C)

Definition at line 64 of file Weather.h.

64 { return _airTemperature; };

◆ getHumidity()

double lsst::afw::coord::Weather::getHumidity ( ) const
inlinenoexcept

get outside relative humidity (%)

Definition at line 70 of file Weather.h.

70 { return _humidity; };

◆ hash_value()

std::size_t lsst::afw::coord::Weather::hash_value ( ) const
noexcept

Return a hash of this object.

Definition at line 52 of file Weather.cc.

52  {
53  // Completely arbitrary seed
54  return utils::hashCombine(17, _airTemperature, _airPressure, _humidity);
55 }
std::size_t hashCombine(std::size_t seed) noexcept
Combine hashes.
Definition: hashCombine.h:35

◆ operator!=()

bool lsst::afw::coord::Weather::operator!= ( Weather const &  other) const
inlinenoexcept

Definition at line 58 of file Weather.h.

58 { return !(*this == other); }

◆ operator=() [1/2]

Weather& lsst::afw::coord::Weather::operator= ( Weather &&  )
defaultnoexcept

◆ operator=() [2/2]

Weather& lsst::afw::coord::Weather::operator= ( Weather const &  )
defaultnoexcept

◆ operator==()

bool lsst::afw::coord::Weather::operator== ( Weather const &  other) const
noexcept

Definition at line 41 of file Weather.cc.

41  {
42  // Weather may be initialized to NaN values as a placeholder, or to indicate "unknown".
43  bool tempMatch = (std::isnan(_airTemperature) && std::isnan(other.getAirTemperature())) ||
44  _airTemperature == other.getAirTemperature();
45  bool presMatch = (std::isnan(_airPressure) && std::isnan(other.getAirPressure())) ||
46  _airPressure == other.getAirPressure();
47  bool humiMatch =
48  (std::isnan(_humidity) && std::isnan(other.getHumidity())) || _humidity == other.getHumidity();
49  return (tempMatch && presMatch && humiMatch);
50 }
T isnan(T... args)

The documentation for this class was generated from the following files: