lsst.afw
g3a5ebb7d8a+28b83bf6a5
Toggle main menu visibility
Loading...
Searching...
No Matches
include
lsst
afw
coord
Weather.h
Go to the documentation of this file.
1
// -*- LSST-C++ -*- // fixed format comment for emacs
2
/*
3
* LSST Data Management System
4
* Copyright 2016 LSST Corporation.
5
*
6
* This product includes software developed by the
7
* LSST Project (http://www.lsst.org/).
8
*
9
* This program is free software: you can redistribute it and/or modify
10
* it under the terms of the GNU General Public License as published by
11
* the Free Software Foundation, either version 3 of the License, or
12
* (at your option) any later version.
13
*
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
18
*
19
* You should have received a copy of the LSST License Statement and
20
* the GNU General Public License along with this program. If not,
21
* see <http://www.lsstcorp.org/LegalNotices/>.
22
*/
23
24
#ifndef LSST_AFW_COORD_WEATHER_H_INCLUDED
25
#define LSST_AFW_COORD_WEATHER_H_INCLUDED
26
27
#include <sstream>
28
29
namespace
lsst
{
30
namespace
afw
{
31
namespace
coord
{
32
38
class
Weather
final {
39
public
:
48
explicit
Weather
(
double
airTemperature,
double
airPressure,
double
humidity);
49
50
~Weather
() noexcept = default;
51
52
Weather
(
Weather
const &) noexcept = default;
53
Weather
(
Weather
&&) noexcept = default;
54
Weather
&operator=(
Weather
const &) noexcept = default;
55
Weather
&operator=(
Weather
&&) noexcept = default;
56
57
bool
operator==(
Weather
const &other) const noexcept;
58
bool
operator!=(
Weather
const &other) const noexcept {
return
!(*
this
== other); }
59
61
std::size_t
hash_value
() const noexcept;
62
64
double
getAirTemperature
() const noexcept {
return
_airTemperature; };
65
67
double
getAirPressure
() const noexcept {
return
_airPressure; };
68
70
double
getHumidity
() const noexcept {
return
_humidity; };
71
72
private
:
73
double
_airTemperature;
74
double
_airPressure;
75
double
_humidity;
76
81
void
validate()
const
;
82
};
83
85
std::ostream
&
operator<<
(
std::ostream
&os, Weather
const
&weath);
86
}
// namespace coord
87
}
// namespace afw
88
}
// namespace lsst
89
90
namespace
std
{
91
template
<>
92
struct
hash
<
lsst
::afw::coord::Weather> {
93
using
argument_type
=
lsst::afw::coord::Weather
;
94
using
result_type
=
size_t
;
95
size_t
operator()
(
argument_type
const
&obj)
const
noexcept
{
return
obj.hash_value(); }
96
};
97
}
// namespace std
98
99
#endif
// !LSST_AFW_COORD_WEATHER_H_INCLUDED
std::ostream
lsst::afw::coord::Weather
Basic weather information sufficient for a simple model for air mass or refraction.
Definition
Weather.h:38
lsst::afw::coord::Weather::getHumidity
double getHumidity() const noexcept
get outside relative humidity (%)
Definition
Weather.h:70
lsst::afw::coord::Weather::~Weather
~Weather() noexcept=default
lsst::afw::coord::Weather::getAirPressure
double getAirPressure() const noexcept
get outside air pressure (Pascal)
Definition
Weather.h:67
lsst::afw::coord::Weather::getAirTemperature
double getAirTemperature() const noexcept
get outside air temperature (C)
Definition
Weather.h:64
lsst::afw::coord::Weather::Weather
Weather(double airTemperature, double airPressure, double humidity)
Construct a Weather.
Definition
Weather.cc:36
lsst::afw::coord::Weather::hash_value
std::size_t hash_value() const noexcept
Return a hash of this object.
Definition
Weather.cc:52
std::hash< lsst::afw::coord::Weather >::hash
T hash(T... args)
lsst::afw::coord
Definition
Observatory.h:38
lsst::afw::coord::operator<<
std::ostream & operator<<(std::ostream &os, Observatory const &obs)
Print an Observatory to the stream.
Definition
Observatory.cc:67
lsst::afw
Definition
imageAlgorithm.dox:1
lsst
std
STL namespace.
std::size_t
std::hash< lsst::afw::coord::Weather >::result_type
size_t result_type
Definition
Weather.h:94
std::hash< lsst::afw::coord::Weather >::operator()
size_t operator()(argument_type const &obj) const noexcept
Definition
Weather.h:95
std::hash< lsst::afw::coord::Weather >::argument_type
lsst::afw::coord::Weather argument_type
Definition
Weather.h:93
Generated on
for lsst.afw by
1.17.0