NANDRAD Data Model Library  Version 2.0
NANDRAD
NANDRAD_Sensor.h
1 /* The NANDRAD data model library.
2 
3  Copyright (c) 2012-today, Institut für Bauklimatik, TU Dresden, Germany
4 
5  Primary authors:
6  Andreas Nicolai <andreas.nicolai -[at]- tu-dresden.de>
7  Anne Paepcke <anne.paepcke -[at]- tu-dresden.de>
8 
9  This library is part of SIM-VICUS (https://github.com/ghorwin/SIM-VICUS)
10 
11  This library 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 library 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 
22 #ifndef NANDRAD_SensorH
23 #define NANDRAD_SensorH
24 
25 #include <IBK_Parameter.h>
26 
27 #include "NANDRAD_Constants.h"
28 #include "NANDRAD_CodeGenMacros.h"
29 
30 namespace NANDRAD {
31 
32 /*! A sensor yields a measured component for use by other models/for output purposes.
33 
34  The quantity can be used for further classify the type of sensor. In some cases, like
35  in case of radiation sensors, the quantity can be omitted since placing the sensor
36  will automatically generate 4 quantities (direct, diffuse, global radiations and incidence angle).
37  The use of the quantity depends on the model implementing sensor support.
38 */
39 class Sensor {
40  NANDRAD_READWRITE_PRIVATE
41 public:
42  // *** PUBLIC MEMBER FUNCTIONS ***
43 
44  NANDRAD_READWRITE_IFNOTEMPTY(Sensor)
45  NANDRAD_COMP(Sensor)
46  NANDRAD_COMPARE_WITH_ID
47 
48  /*! Checks for valid parameters (value ranges). */
49  void checkParameters() const;
50 
51  // *** PUBLIC MEMBER VARIABLES ***
52 
53  /*! Unique ID-number of the sensor.*/
54  unsigned int m_id = NANDRAD::INVALID_ID; // XML:A:required
55  /*! Name of the measured quantity */
56  std::string m_quantity; // XML:E
57 
58  /*! Orientation of the radiation load sensor [Deg] (see also ConstructionInstance). */
59  IBK::Parameter m_orientation; // XML:E
60  /*! Inclination of the radiation load sensor [Deg] (see also ConstructionInstance). */
61  IBK::Parameter m_inclination; // XML:E
62 };
63 
64 } // namespace NANDRAD
65 
66 #endif // NANDRAD_SensorH
IBK::Parameter m_inclination
Inclination of the radiation load sensor [Deg] (see also ConstructionInstance).
NANDRAD_COMPARE_WITH_ID void checkParameters() const
Checks for valid parameters (value ranges).
unsigned int m_id
Unique ID-number of the sensor.
Contains global constants for the Nandrad data model.
unsigned int INVALID_ID
defines an invalid id
IBK::Parameter m_orientation
Orientation of the radiation load sensor [Deg] (see also ConstructionInstance).
std::string m_quantity
Name of the measured quantity.
The namespace NANDRAD contains the data model classes that make up the NANDRAD solver input data...
A sensor yields a measured component for use by other models/for output purposes. ...