Meteo.h
Go to the documentation of this file.
1 #ifndef _sevt_Meteo_h_
2 #define _sevt_Meteo_h_
3 
4 #include <utl/LameShadowPtr_fwd.h>
5 #include <vector>
6 
7 
8 namespace sevt {
9 
28  class Meteo {
29 
30  public:
31  enum MeteoSite {
38  };
39 
40  const std::vector<float>& GetPressures() const { return fPressure; }
41  const std::vector<float>& GetTemperatures() const { return fTemperature; }
42  const std::vector<float>& GetHumidities() const { return fHumidity; }
43  const std::vector<float>& GetDayPressures() const { return fDayPressure; }
44  const std::vector<float>& GetDayTemperatures() const { return fDayTemperature; }
45  const std::vector<float>& GetDayHumidities() const { return fDayHumidity; }
46 
47  float GetPressure(const MeteoSite site) const { return fPressure.at(site); }
48  float GetTemperature(const MeteoSite site) const { return fTemperature.at(site); }
49  float GetHumidity(const MeteoSite site) const { return fHumidity.at(site); }
50  float GetDayPressure(const MeteoSite site) const { return fDayPressure.at(site); }
51  float GetDayTemperature(const MeteoSite site) const { return fDayTemperature.at(site); }
52  float GetDayHumidity(const MeteoSite site) const { return fDayHumidity.at(site); }
53 
54  void SetPressures(const std::vector<float>& pressure) { fPressure = pressure; }
55  void SetTemperatures(const std::vector<float>& temperature) { fTemperature = temperature; }
56  void SetHumidities(const std::vector<float>& humidity) { fHumidity = humidity; }
57  void SetDayPressures(const std::vector<float>& daypressure) { fDayPressure = daypressure; }
58  void SetDayTemperatures(const std::vector<float>& daytemperature) { fDayTemperature = daytemperature; }
59  void SetDayHumidities(const std::vector<float>& dayhumidity) { fDayHumidity = dayhumidity; }
60 
61  // overloading functions to be able to deal with arrays in cdas more fluently
62  void SetPressures(const float* const pressure, const unsigned int size) { fPressure.assign(pressure, pressure + size); }
63  void SetTemperatures(const float* const temperature, const unsigned int size) { fTemperature.assign(temperature, temperature + size); }
64  void SetHumidities(const float* const humidity, const unsigned int size) { fHumidity.assign(humidity, humidity + size); }
65  void SetDayPressures(const float* const daypressure, const unsigned int size) { fDayPressure.assign(daypressure, daypressure + size); }
66  void SetDayTemperatures(const float* const daytemperature, const unsigned int size) { fDayTemperature.assign(daytemperature, daytemperature + size); }
67  void SetDayHumidities(const float* const dayhumidity, const unsigned int size) { fDayHumidity.assign(dayhumidity, dayhumidity + size); }
68 
69  void SetPressure(const MeteoSite site, const float pressure) { fPressure.at(site) = pressure; }
70  void SetTemperature(const MeteoSite site, const float temperature) { fTemperature.at(site) = temperature; }
71  void SetHumidity(const MeteoSite site, const float humidity) { fHumidity.at(site) = humidity; }
72  void SetDayPressure(const MeteoSite site, const float daypressure) { fDayPressure.at(site) = daypressure; }
73  void SetDayTemperature(const MeteoSite site, const float daytemperature) { fDayTemperature.at(site) = daytemperature; }
74  void SetDayHumidity(const MeteoSite site, const float dayhumidity) { fDayHumidity.at(site) = dayhumidity; }
75 
76  private:
77  Meteo() = default;
78  ~Meteo() = default;
79 
80  std::vector<float> fPressure{6, 0};
81  std::vector<float> fTemperature{6, 0};
82  std::vector<float> fHumidity{6, 0};
83  std::vector<float> fDayPressure{6, 0};
84  std::vector<float> fDayTemperature{6, 0};
85  std::vector<float> fDayHumidity{6, 0};
86 
87  friend class SEvent;
88  friend class utl::LameShadowPtr<Meteo>;
89 
90  };
91 
92 }
93 
94 
95 #endif
float GetDayPressure(const MeteoSite site) const
Definition: Meteo.h:50
const std::vector< float > & GetTemperatures() const
Definition: Meteo.h:41
void SetDayHumidities(const std::vector< float > &dayhumidity)
Definition: Meteo.h:59
void SetDayHumidities(const float *const dayhumidity, const unsigned int size)
Definition: Meteo.h:67
std::vector< float > fPressure
Definition: Meteo.h:80
~Meteo()=default
const std::vector< float > & GetHumidities() const
Definition: Meteo.h:42
const std::vector< float > & GetDayHumidities() const
Definition: Meteo.h:45
void SetDayTemperatures(const float *const daytemperature, const unsigned int size)
Definition: Meteo.h:66
void SetHumidities(const std::vector< float > &humidity)
Definition: Meteo.h:56
Interface class to access to the SD part of an event.
Definition: SEvent.h:39
void SetPressure(const MeteoSite site, const float pressure)
Definition: Meteo.h:69
const std::vector< float > & GetDayPressures() const
Definition: Meteo.h:43
const std::vector< float > & GetDayTemperatures() const
Definition: Meteo.h:44
std::vector< float > fHumidity
Definition: Meteo.h:82
void SetDayPressure(const MeteoSite site, const float daypressure)
Definition: Meteo.h:72
void SetDayPressures(const float *const daypressure, const unsigned int size)
Definition: Meteo.h:65
std::vector< float > fDayPressure
Definition: Meteo.h:83
void SetDayTemperature(const MeteoSite site, const float daytemperature)
Definition: Meteo.h:73
float GetPressure(const MeteoSite site) const
Definition: Meteo.h:47
void SetTemperature(const MeteoSite site, const float temperature)
Definition: Meteo.h:70
void SetHumidity(const MeteoSite site, const float humidity)
Definition: Meteo.h:71
float GetDayTemperature(const MeteoSite site) const
Definition: Meteo.h:51
float GetDayHumidity(const MeteoSite site) const
Definition: Meteo.h:52
const std::vector< float > & GetPressures() const
Definition: Meteo.h:40
void SetTemperatures(const float *const temperature, const unsigned int size)
Definition: Meteo.h:63
void SetDayHumidity(const MeteoSite site, const float dayhumidity)
Definition: Meteo.h:74
Weather data from monitoring information.
Definition: Meteo.h:28
std::vector< float > fDayHumidity
Definition: Meteo.h:85
Meteo()=default
void SetHumidities(const float *const humidity, const unsigned int size)
Definition: Meteo.h:64
float GetHumidity(const MeteoSite site) const
Definition: Meteo.h:49
float GetTemperature(const MeteoSite site) const
Definition: Meteo.h:48
void SetPressures(const std::vector< float > &pressure)
Definition: Meteo.h:54
void SetPressures(const float *const pressure, const unsigned int size)
Definition: Meteo.h:62
void SetDayTemperatures(const std::vector< float > &daytemperature)
Definition: Meteo.h:58
void SetTemperatures(const std::vector< float > &temperature)
Definition: Meteo.h:55
std::vector< float > fTemperature
Definition: Meteo.h:81
std::vector< float > fDayTemperature
Definition: Meteo.h:84
void SetDayPressures(const std::vector< float > &daypressure)
Definition: Meteo.h:57

, generated on Tue Sep 26 2023.