radarlib 1.4.6
odimh5v21_classes.hpp
Go to the documentation of this file.
1/*
2 * Radar Library
3 *
4 * Copyright (C) 2.19-2010 ARPA-SIM <urpsim@smr.arpa.emr.it>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License along
17 * with this program; if not, write to the Free Software Foundation, Inc.,
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 *
20 * Author: Guido Billi <guidobilli@gmail.com>
21 */
22
23
27
28#ifndef __RADAR_ODIMH5V21_CLASES_HPP__
29#define __RADAR_ODIMH5V21_CLASES_HPP__
30
31#include <radarlib/defs.h>
36
37#include <set>
38
39namespace OdimH5v21
40{
41
42/*===========================================================================*/
43/* FORWARD DECLARATIONS */
44/*===========================================================================*/
45
46class OdimFactory;
47class OdimObject;
48class OdimDataset;
49class OdimData;
50class OdimQuality;
52class PolarVolume;
53class PolarScan;
54class PolarScanData;
55class Object_2D;
57class ImageObject;
58class CompObject;
59class XsecObject;
60class Product_2D;
62class Product_PPI;
63class Product_CAPPI;
64class Product_PCAPPI;
65class Product_ETOP;
66class Product_MAX;
67class Product_RR;
68class Product_VIL;
69class Product_LBM;
70class Product_POH;
71class Product_COMP;
73class Product_Panel;
74class Product_XSEC;
75class Product_RHI;
76class Product_VSP;
77class Product_HSP;
78class Product_2D_Data;
79class Vertical_Product_2D_Data;
80/*===========================================================================*/
81/* ODIM ROOT OBJECT */
82/*===========================================================================*/
83
95class RADAR_API OdimObject : public WHATRootMetadata
96{
97public:
98 virtual ~OdimObject();
99
105 virtual std::string getConventions();
111 virtual void setConventions();
112
120 virtual H5::H5File* getFile();
128 virtual H5::Group* getH5Object();
129
136 virtual bool existWhat();
137
144 virtual bool existWhere();
151 virtual bool existHow();
152
160 virtual MetadataGroup* getWhat();
168 virtual MetadataGroup* getWhere();
176
177 virtual MetadataGroup* getHow();
178 virtual std::string getObject ();
179 virtual void setObject (const std::string& val);
180 virtual std::string getVersion ();
181 virtual void setVersion (const std::string& val);
182 virtual time_t getDateTime ();
183 virtual void setDateTime (const time_t val);
184 virtual SourceInfo getSource ();
185 virtual void setSource (const SourceInfo& val);
186
193 virtual int getDatasetCount();
202 virtual OdimDataset* createDataset();
212 virtual OdimDataset* getDataset(int index);
221 virtual void removeDataset(int index);
222
223
224protected:
225 H5::H5File* file;
226 H5::Group* group;
227 MetadataGroup* meta_what;
228 MetadataGroup* meta_where;
229 MetadataGroup* meta_how;
230
231 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
232 friend class OdimFactory;
233 OdimObject(H5::H5File* file);
234
235 virtual H5::Group* createDatasetGroup();
236 virtual H5::Group* getDatasetGroup(int num);
237
238 virtual void setMandatoryInformations ();
239 virtual void checkMandatoryInformations ();
240};
241
242/*===========================================================================*/
243/* ODIM DATASET */
244/*===========================================================================*/
245
256class RADAR_API OdimDataset
257{
258public:
259 virtual ~OdimDataset();
260
268 virtual H5::Group* getH5Object();
269
276 virtual bool existWhat();
277
284 virtual bool existWhere();
291 virtual bool existHow();
299 virtual MetadataGroup* getWhat();
307 virtual MetadataGroup* getWhere();
315 virtual MetadataGroup* getHow();
316
323 virtual int getDataCount();
331 virtual OdimData* createData();
341 virtual OdimData* getData(int index);
349 virtual void removeData(int index);
350
357 virtual int getQualityCount();
365 virtual OdimQuality* createQuality();
375 virtual OdimQuality* getQuality(int index);
383 virtual void removeQuality(int index);
384protected:
385 H5::Group* group;
386 MetadataGroup* meta_what;
387 MetadataGroup* meta_where;
388 MetadataGroup* meta_how;
389
390 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
391 friend class OdimObject;
392 OdimDataset(H5::Group* group);
393
394 virtual H5::Group* createDataGroup();
395 virtual H5::Group* getDataGroup(int num);
396 virtual H5::Group* createQualityGroup();
397 virtual H5::Group* getQualityGroup(int num);
398};
399
400/*===========================================================================*/
401/* ODIM DATA */
402/*===========================================================================*/
403
414class RADAR_API OdimData
415{
416public:
417 virtual ~OdimData();
418
426 virtual H5::Group* getH5Object();
433 virtual bool existWhat();
434
441 virtual bool existWhere();
448 virtual bool existHow();
456 virtual MetadataGroup* getWhat();
464 virtual MetadataGroup* getWhere();
472 virtual MetadataGroup* getHow();
482 virtual H5::AtomType getDataType();
488 virtual int getDataWidth();
494 virtual int getDataHeight();
500 virtual void getDataDimension(int* height, int* width);
513 virtual void writeData(const void* buff, int width, int height, const H5::DataType& elemtype);
523 virtual void writeData(const char* buff, int width, int height);
533 virtual void writeData(const unsigned char* buff, int width, int height);
543 virtual void writeData(const unsigned short* buff, int width, int height);
553 virtual void writeData(const float* buff, int width, int height);
554
563 virtual void writeData(const DataMatrix<char>& matrix);
572 virtual void writeData(const DataMatrix<unsigned char>& matrix);
581 virtual void writeData(const DataMatrix<unsigned short>& matrix);
590 virtual void writeData(const DataMatrix<float>& matrix);
600 virtual void readData(void* buffer);
607 virtual int getQualityCount();
615 virtual OdimQuality* createQuality();
625 virtual OdimQuality* getQuality(int index);
633 virtual void removeQuality(int index);
634
635protected:
636 H5::Group* group;
637 MetadataGroup* meta_what;
638 MetadataGroup* meta_where;
639 MetadataGroup* meta_how;
640
641 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
642 friend class OdimDataset;
643 OdimData(H5::Group* group);
644
645 virtual H5::DataSet* getData();
646 virtual H5::Group* createQualityGroup();
647 virtual H5::Group* getQualityGroup(int num);
648};
649
650/*===========================================================================*/
651/* ODIM QUALITY*/
652/*===========================================================================*/
653
664class RADAR_API OdimQuality
665{
666public:
667 virtual ~OdimQuality();
668
676 virtual H5::Group* getH5Object();
683 virtual bool existWhat();
684
691 virtual bool existWhere();
698 virtual bool existHow();
699
707 virtual MetadataGroup* getWhat();
715 virtual MetadataGroup* getWhere();
723 virtual MetadataGroup* getHow();
733 virtual H5::AtomType getQualityType();
739 virtual int getQualityWidth();
745 virtual int getQualityHeight();
751 virtual void getQualityDimension(int* height, int* width);
764 virtual void writeQuality(const void* buff, int width, int height, const H5::DataType& elemtype);
774 virtual void writeQuality(const char* buff, int width, int height);
784 virtual void writeQuality(const unsigned char* buff, int width, int height);
794 virtual void writeQuality(const unsigned short* buff, int width, int height);
804 virtual void writeQuality(const float* buff, int width, int height);
805
814 virtual void writeQuality(const DataMatrix<char>& matrix);
823 virtual void writeQuality(const DataMatrix<unsigned char>& matrix);
832 virtual void writeQuality(const DataMatrix<unsigned short>& matrix);
841 virtual void writeQuality(const DataMatrix<float>& matrix);
851 virtual void readQuality(void* buffer);
852
853protected:
854 H5::Group* group;
855 MetadataGroup* meta_what;
856 MetadataGroup* meta_where;
857 MetadataGroup* meta_how;
858
859 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
860 friend class OdimDataset;
861 friend class OdimData;
862 friend class Product_2D_Data;
863 OdimQuality(H5::Group* group);
864
865 virtual H5::DataSet* getData();
866};
867
868/*===========================================================================*/
869/* POLAR VOLUME */
870/*===========================================================================*/
871
881class RADAR_API PolarVolume : public OdimObject, public WHERERootMetadata, public HOWRootMetadata
882{
883public:
884 virtual ~PolarVolume();
885
886 virtual double getLongitude ();
887 virtual void setLongitude (double val);
888 virtual double getLatitude ();
889 virtual void setLatitude (double val);
890 virtual double getAltitude ();
891 virtual void setAltitude (double val);
892
893 virtual std::string getTaskOrProdGen ();
894 virtual void setTaskOrProdGen (const std::string& val);
895 virtual time_t getStartEpochs ();
896 virtual void setStartEpochs (time_t val);
897 virtual time_t getEndEpochs ();
898 virtual void setEndEpochs (time_t val);
899 virtual std::string getSystem ();
900 virtual void setSystem (const std::string& val);
901 virtual std::string getSoftware ();
902 virtual void setSoftware (const std::string& val);
903 virtual std::string getSoftwareVer ();
904 virtual void setSoftwareVer (const std::string& val);
905 virtual double getZR_A ();
906 virtual void setZR_A (double val);
907 virtual double getZR_B ();
908 virtual void setZR_B (double val);
909 virtual double getKR_A ();
910 virtual void setKR_A (double val);
911 virtual double getKR_B ();
912 virtual void setKR_B (double val);
913 virtual bool getSimulated ();
914 virtual void setSimulated (bool val);
915
921 virtual int getScanCount ();
928 virtual PolarScan* createScan ();
936 virtual PolarScan* getScan (int index);
944 virtual void removeScan (int index);
951 virtual std::vector<PolarScan*> getScans ();
960 virtual std::vector<PolarScan*> getScans (double elevation, double gap = 0);
969 virtual std::vector<PolarScan*> getScansBetween (double minElevation, double maxElevation);
977 virtual std::vector<PolarScan*> getScans (const char* quantity);
978 virtual std::vector<PolarScan*> getScans (const std::string& quantity);
986 virtual std::vector<double> getScanAngles ();
993 virtual std::vector<double> getElevationAngles ();
1000 virtual std::set<std::string> getStoredQuantities();
1001
1002protected:
1003 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
1004 friend class OdimFactory;
1005 PolarVolume(H5::H5File* file);
1006
1007 virtual void setMandatoryInformations ();
1008 virtual void checkMandatoryInformations ();
1009
1010};
1011
1012/*===========================================================================*/
1013/* POLAR VOLUME SCAN */
1014/*===========================================================================*/
1015
1024class RADAR_API PolarScan : public OdimDataset, public WHATDatasetMetadata, public WHEREScanMetadata, public HOWPolarMetadata
1025{
1026public:
1027 virtual ~PolarScan();
1028
1029 virtual void setMandatoryInformations();
1030
1031 virtual std::string getObject ();
1032 virtual void setObject (const std::string& val);
1033 virtual std::string getVersion ();
1034 virtual void setVersion (const std::string& val);
1035 virtual time_t getDateTime ();
1036 virtual void setDateTime (const time_t val);
1037 virtual SourceInfo getSource ();
1038 virtual void setSource (const SourceInfo& val);
1039
1040 virtual std::string getProduct ();
1041 virtual void setProduct (const std::string& val);
1042 virtual double getProdPar ();
1043 virtual VILHeights getProdParVIL ();
1044 virtual void setProdPar (double val);
1045 virtual void setProdPar (const VILHeights& val);
1046 virtual std::string getQuantity ();
1047 virtual void setQuantity (const std::string& val);
1048 virtual time_t getStartDateTime ();
1049 virtual void setStartDateTime (time_t val);
1050 virtual time_t getEndDateTime ();
1051 virtual void setEndDateTime (time_t val);
1052 virtual double getGain ();
1053 virtual void setGain (double val);
1054 virtual double getOffset ();
1055 virtual void setOffset (double val);
1056 virtual double getNodata ();
1057 virtual void setNodata (double val);
1058 virtual double getUndetect ();
1059 virtual void setUndetect (double val);
1060
1061 virtual double getLongitude ();
1062 virtual void setLongitude (double val);
1063 virtual double getLatitude ();
1064 virtual void setLatitude (double val);
1065 virtual double getAltitude ();
1066 virtual void setAltitude (double val);
1067
1068 virtual double getEAngle ();
1069 virtual void setEAngle (double val);
1070 virtual int getNumBins ();
1071 virtual void setNumBins (int val);
1072 virtual double getRangeStart ();
1073 virtual void setRangeStart (double val);
1074 virtual double getRangeScale ();
1075 virtual void setRangeScale (double val);
1076 virtual int getNumRays ();
1077 virtual void setNumRays (int val);
1078 virtual int getA1Gate ();
1079 virtual void setA1Gate (int val);
1080
1081 virtual std::string getTaskOrProdGen ();
1082 virtual void setTaskOrProdGen (const std::string& val);
1083 virtual time_t getStartEpochs ();
1084 virtual void setStartEpochs (time_t val);
1085 virtual time_t getEndEpochs ();
1086 virtual void setEndEpochs (time_t val);
1087 virtual std::string getSystem ();
1088 virtual void setSystem (const std::string& val);
1089 virtual std::string getSoftware ();
1090 virtual void setSoftware (const std::string& val);
1091 virtual std::string getSoftwareVer ();
1092 virtual void setSoftwareVer (const std::string& val);
1093 virtual double getZR_A ();
1094 virtual void setZR_A (double val);
1095 virtual double getZR_B ();
1096 virtual void setZR_B (double val);
1097 virtual double getKR_A ();
1098 virtual void setKR_A (double val);
1099 virtual double getKR_B ();
1100 virtual void setKR_B (double val);
1101 virtual bool getSimulated ();
1102 virtual void setSimulated (bool val);
1103
1104 virtual double getBeamWidth ();
1105 virtual double getBeamWidth (double defaultValue);
1106 virtual void setBeamWidth (double val);
1107 virtual double getWaveLength ();
1108 virtual double getWaveLength (double defaultValue);
1109 virtual void setWaveLength (double val);
1110 virtual double getRPM ();
1111 virtual double getRPM (double defaultValue);
1112 virtual void setRPM (double val);
1113 virtual double getPulseWidth ();
1114 virtual double getPulseWidth (double defaultValue);
1115 virtual void setPulseWidth (double val);
1116 virtual double getRXBandWidth ();
1117 virtual double getRXBandWidth (double defaultValue);
1118 virtual void setRXBandWidth (double val);
1119 virtual int getLowPRF ();
1120 virtual int getLowPRF (int defaultValue);
1121 virtual void setLowPRF (int val);
1122 virtual int getHighPRF ();
1123 virtual int getHighPRF (int defaultValue);
1124 virtual void setHighPRF (int val);
1125 virtual double getTXLoss () ;
1126 virtual double getTXLoss (double defaultValue);
1127 virtual void setTXLoss (double val) ;
1128 virtual double getRXLoss () ;
1129 virtual double getRXLoss (double defaultValue);
1130 virtual void setRXLoss (double val) ;
1131 virtual double getRadomeLoss () ;
1132 virtual double getRadomeLoss (double defaultValue);
1133 virtual void setRadomeLoss (double val) ;
1134 virtual double getAntGain () ;
1135 virtual double getAntGain (double defaultValue);
1136 virtual void setAntGain (double val) ;
1137 virtual double getBeamWH () ;
1138 virtual double getBeamWH (double defaultValue);
1139 virtual void setBeamWH (double val) ;
1140 virtual double getBeamWV () ;
1141 virtual double getBeamWV (double defaultValue);
1142 virtual void setBeamWV (double val) ;
1143 virtual double getGasAttn () ;
1144 virtual double getGasAttn (double defaultValue);
1145 virtual void setGasAttn (double val) ;
1146 virtual double getRadConstH () ;
1147 virtual double getRadConstH (double defaultValue);
1148 virtual void setRadConstH (double val) ;
1149 virtual double getRadConstV () ;
1150 virtual double getRadConstV (double defaultValue);
1151 virtual void setRadConstV (double val) ;
1152 virtual double getNomTXPower () ;
1153 virtual double getNomTXPower (double defaultValue);
1154 virtual void setNomTXPower (double val) ;
1155 virtual std::vector<double> getTXPower () ;
1156 virtual std::vector<double> getTXPower (double defaultValue);
1157 virtual void setTXPower (double val) ;
1158 virtual void setTXPower (const std::vector<double>& val) ;
1159 virtual double getNI () ;
1160 virtual double getNI (double defaultValue);
1161 virtual void setNI (double val) ;
1162 virtual double getVSamples () ;
1163 virtual double getVSamples (double defaultValue);
1164 virtual void setVSamples (double val) ;
1165
1166 virtual std::string getAzimuthMethod ();
1167 virtual void setAzimuthMethod (const std::string& val);
1168 virtual std::string getBinMethod ();
1169 virtual void setBinMethod (const std::string& val);
1170 virtual std::vector<AZAngles> getAzimuthAngles ();
1171 virtual void setAzimuthAngles (const std::vector<AZAngles>& val,int precision=0);
1172 virtual std::vector<double> getElevationAngles ();
1173 virtual void setElevationAngles (const std::vector<double>& val);
1174// virtual void setElevationAngles ( std::vector<double>& val);
1175 virtual std::vector<double> getStartAzimuthAngles ();
1176 virtual void setStartAzimuthAngles (const std::vector<double>& val);
1177 virtual std::vector<double> getStopAzimuthAngles ();
1178 virtual void setStopAzimuthAngles (const std::vector<double>& val);
1179 virtual std::vector<double> getStartAzimuthTimes ();
1180 virtual void setStartAzimuthTimes (const std::vector<double>& val);
1181 virtual std::vector<double> getStopAzimuthTimes ();
1182 virtual void setStopAzimuthTimes (const std::vector<double>& val);
1183 virtual std::vector<AZTimes> getAzimuthTimes ();
1184 virtual void setAzimuthTimes (const std::vector<AZTimes>& val);
1185
1186 virtual double getPointAccEl ();
1187 virtual void setPointAccEl (double val);
1188 virtual double getPointAccAZ ();
1189 virtual void setPointAccAZ (double val);
1190 virtual bool getMalfunc ();
1191 virtual void setMalfunc (bool val);
1192 virtual std::string getRadarMsg ();
1193 virtual void setRadarMsg (const std::string& val);
1194 virtual double getRadarHorizon ();
1195 virtual void setRadarHorizon (double val);
1196// virtual double getMDS ();
1197// virtual void setMDS (double val);
1198 virtual double getNEZ ();
1199 virtual void setNEZ (double val);
1200 virtual double getOUR ();
1201 virtual void setOUR (double val);
1202 virtual std::vector<std::string> getDClutter ();
1203 virtual void setDClutter (const std::vector<std::string>& value);
1204 virtual std::string getComment ();
1205 virtual void setComment (const std::string& val);
1206 virtual double getSQI ();
1207 virtual void setSQI (double val);
1208 virtual double getCSR ();
1209 virtual void setCSR (double val);
1210 virtual double getLOG ();
1211 virtual void setLOG (double val);
1212 virtual bool getVPRCorr ();
1213 virtual void setVPRCorr (bool val);
1214 virtual double getFreeze ();
1215 virtual void setFreeze (double val);
1216 virtual double getMin ();
1217 virtual void setMin (double val);
1218 virtual double getMax ();
1219 virtual void setMax (double val);
1220 virtual double getStep ();
1221 virtual void setStep (double val);
1222 virtual int getLevels ();
1223 virtual void setLevels (int val);
1224 virtual double getPeakPwr ();
1225 virtual void setPeakPwr (double val);
1226 virtual double getAvgPwr ();
1227 virtual void setAvgPwr (double val);
1228 virtual double getDynRange ();
1229 virtual void setDynRange (double val);
1230 virtual double getRAC ();
1231 virtual void setRAC (double val);
1232 virtual bool getBBC ();
1233 virtual void setBBC (bool val);
1234 virtual double getPAC ();
1235 virtual void setPAC (double val);
1236 virtual double getS2N ();
1237 virtual void setS2N (double val);
1238 virtual std::string getPolarization ();
1239 virtual void setPolarization (const std::string& val);
1240
1247 virtual int getQuantityDataCount();
1248
1256 virtual PolarScanData* createQuantityData (const char* name);
1257 virtual PolarScanData* createQuantityData (const std::string& name);
1266 virtual PolarScanData* getQuantityData (int index);
1275 virtual PolarScanData* getQuantityData (const char* name);
1276 virtual PolarScanData* getQuantityData (const std::string& name);
1283 virtual void removeQuantityData (const char* name);
1284 virtual void removeQuantityData (const std::string& name);
1292 virtual bool hasQuantityData (const char* name);
1293 virtual bool hasQuantityData (const std::string& name);
1301 virtual int getQuantityDataIndex (const char* name);
1302 virtual int getQuantityDataIndex (const std::string& name);
1311 virtual int getDirection();
1318 std::set<std::string> getStoredQuantities ();
1330 static inline int originaRayIndex(int index, int originalDirection, int numrays, int a1gate)
1331 {
1332 if (originalDirection>0)
1333 {
1334 return (index + a1gate) % numrays;
1335 }
1336 else
1337 {
1338 return ((numrays + a1gate) - index) % numrays;
1339 }
1340 }
1341
1342private:
1343 PolarVolume* volume;
1344
1345 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
1346 friend class PolarVolume;
1347 PolarScan(PolarVolume* volume, H5::Group* group);
1348};
1349
1350/*===========================================================================*/
1351/* POLAR SCAN DATA */
1352/*===========================================================================*/
1353
1361class RADAR_API PolarScanData: public OdimData, public WHATDatasetMetadata
1362{
1363public:
1364 virtual ~PolarScanData();
1365
1366 virtual std::string getObject ();
1367 virtual void setObject (const std::string& val);
1368 virtual std::string getVersion ();
1369 virtual void setVersion (const std::string& val);
1370 virtual time_t getDateTime ();
1371 virtual void setDateTime (const time_t val);
1372 virtual SourceInfo getSource ();
1373 virtual void setSource (const SourceInfo& val);
1374
1375 virtual std::string getProduct ();
1376 virtual void setProduct (const std::string& val);
1377 virtual double getProdPar ();
1378 virtual VILHeights getProdParVIL ();
1379 virtual void setProdPar (double val);
1380 virtual void setProdPar (const VILHeights& val);
1381 virtual std::string getQuantity ();
1382 virtual void setQuantity (const std::string& val);
1383 virtual time_t getStartDateTime();
1384 virtual void setStartDateTime(time_t val);
1385 virtual time_t getEndDateTime ();
1386 virtual void setEndDateTime (time_t val);
1387 virtual double getGain ();
1388 virtual void setGain (double val);
1389 virtual double getOffset ();
1390 virtual void setOffset (double val);
1391 virtual double getNodata ();
1392 virtual void setNodata (double val);
1393 virtual double getUndetect ();
1394 virtual void setUndetect (double val);
1395
1401 virtual int getNumRays();
1407 virtual int getNumBins();
1413 H5::AtomType getBinType();
1421 virtual void readTranslatedData(RayMatrix<float>& matrix);
1429 virtual void readTranslatedData(RayMatrix<double>& matrix);
1441 virtual void writeAndTranslate(RayMatrix<float>& matrix, float offset, float gain, H5::DataType type);
1453 virtual void writeAndTranslate(RayMatrix<double>& matrix, double offset, double gain, H5::DataType type);
1454
1455private:
1456 PolarScan* scan;
1457
1458 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
1459 friend class PolarScan;
1460 PolarScanData(PolarScan* scan, H5::Group* group);
1461};
1462
1463
1464
1465/*===========================================================================*/
1466/* 2D OBJECT */
1467/*===========================================================================*/
1468
1479class RADAR_API Object_2D : public OdimObject, public HOWRootMetadata
1480{
1481public:
1482 virtual ~Object_2D() = 0;
1483
1484 //virtual void setMandatoryInformations();
1485 //void checkMandatoryInformations();
1486
1487 virtual std::string getTaskOrProdGen ();
1488 virtual void setTaskOrProdGen (const std::string& val);
1489 virtual time_t getStartEpochs ();
1490 virtual void setStartEpochs (time_t val);
1491 virtual time_t getEndEpochs ();
1492 virtual void setEndEpochs (time_t val);
1493 virtual std::string getSystem ();
1494 virtual void setSystem (const std::string& val);
1495 virtual std::string getSoftware ();
1496 virtual void setSoftware (const std::string& val);
1497 virtual std::string getSoftwareVer ();
1498 virtual void setSoftwareVer (const std::string& val);
1499 virtual double getZR_A ();
1500 virtual void setZR_A (double val);
1501 virtual double getZR_B ();
1502 virtual void setZR_B (double val);
1503 virtual double getKR_A ();
1504 virtual void setKR_A (double val);
1505 virtual double getKR_B ();
1506 virtual void setKR_B (double val);
1507 virtual bool getSimulated ();
1508 virtual void setSimulated (bool val);
1509
1515 virtual int getProductCount ();
1523 virtual Product_2D* createProduct2D (const char* type);
1524 virtual Product_2D* createProduct2D (const std::string & type);
1531 virtual Product_PPI* createProductPPI ();
1552 virtual Product_ETOP* createProductETOP ();
1559 virtual Product_MAX* createProductMAX ();
1566 virtual Product_RR* createProductRR ();
1573 virtual Product_VIL* createProductVIL ();
1580 virtual Product_LBM* createProductLBM ();
1587 virtual Product_POH* createProductPOH ();
1594 virtual Product_COMP* createProductCOMP ();
1601 virtual Product_XSEC* createProductXSEC ();
1608 virtual Product_RHI* createProductRHI ();
1615 virtual Product_VSP* createProductVSP ();
1622 virtual Product_HSP* createProductHSP ();
1623// virtual Horizontal_Product_2D* createHorizontal_Product_2D (const char* type);
1624// virtual Horizontal_Product_2D* createHorizontal_Product_2D (const std::string& type);
1625// virtual Vertical_Product_2D* createVertical_Product_2D (const char* type);
1626// virtual Vertical_Product_2D* createVertical_Product_2D (const std::string& type);
1634 virtual Product_2D* getProduct (int index);
1642//
1643//virtual Horizontal_Product_2D* getHorizontal_Product_2D (int index);
1651//
1652//virtual Vertical_Product_2D* getVertical_Product_2D (int index);
1660 virtual void removeProduct (int index);
1661
1668 virtual std::vector<std::string > getProductsType ();
1669
1676 virtual std::vector<Product_2D*> getProducts();
1688
1689protected:
1690 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
1691// friend class OdimFactory;
1692 Object_2D(H5::H5File* file);
1693
1694 virtual void setMandatoryInformations ();
1695 virtual void checkMandatoryInformations ();
1696};
1697
1698
1699/*===========================================================================*/
1700/* HORIZONTAL OBJECT */
1701/*===========================================================================*/
1712class RADAR_API HorizontalObject_2D : public Object_2D, public WHEREImageMetadata
1713{
1714public:
1715 virtual ~HorizontalObject_2D() ;
1716
1717 virtual void setMandatoryInformations();
1718 virtual void checkMandatoryInformations();
1719
1720 virtual std::string getProjectionArguments () ;
1721 virtual void setProjectionArguments (const std::string& val) ;
1722
1723 virtual int getXSize () ;
1724 virtual void setXSize (int val) ;
1725 virtual int getYSize () ;
1726 virtual void setYSize (int val) ;
1727 virtual double getXScale () ;
1728 virtual void setXScale (double val) ;
1729 virtual double getYScale () ;
1730 virtual void setYScale (double val) ;
1731
1732 virtual double getLL_Longitude () ;
1733 virtual void setLL_Longitude (double val) ;
1734 virtual double getLL_Latitude () ;
1735 virtual void setLL_Latitude (double val) ;
1736
1737 virtual double getUL_Longitude () ;
1738 virtual void setUL_Longitude (double val) ;
1739 virtual double getUL_Latitude () ;
1740 virtual void setUL_Latitude (double val) ;
1741
1742 virtual double getUR_Longitude () ;
1743 virtual void setUR_Longitude (double val) ;
1744 virtual double getUR_Latitude () ;
1745 virtual void setUR_Latitude (double val) ;
1746
1747 virtual double getLR_Longitude () ;
1748 virtual void setLR_Longitude (double val) ;
1749 virtual double getLR_Latitude () ;
1750 virtual void setLR_Latitude (double val) ;
1751protected:
1752 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
1753// friend class OdimFactory;
1754 HorizontalObject_2D(H5::H5File* file);
1755
1756};
1757/*===========================================================================*/
1758/* IMAGE OBJECT */
1759/*===========================================================================*/
1771class RADAR_API ImageObject : public HorizontalObject_2D
1772{
1773public:
1774 virtual ~ImageObject() ;
1775
1776 virtual void setMandatoryInformations();
1777 virtual void checkMandatoryInformations();
1778
1779protected:
1780 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
1781 friend class OdimFactory;
1782 ImageObject(H5::H5File* file);
1783};
1784/*===========================================================================*/
1785/* COMP OBJECT */
1786/*===========================================================================*/
1798class RADAR_API CompObject : public HorizontalObject_2D
1799{
1800public:
1801 virtual ~CompObject() ;
1802
1803 virtual void setMandatoryInformations();
1804 virtual void checkMandatoryInformations();
1805
1806protected:
1807 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
1808 friend class OdimFactory;
1809 CompObject(H5::H5File* file);
1810};
1811
1812/*===========================================================================*/
1813/* XSEC OBJECT */
1814/*===========================================================================*/
1825class RADAR_API XsecObject : public Object_2D, public WHEREXSECMetadata, public WHERERhiMetadata, public WHEREPanelMetadata
1826{
1827public:
1828 virtual ~XsecObject();
1829
1830 virtual void setMandatoryInformations();
1831 virtual void checkMandatoryInformations();
1832
1833 virtual int getXSize () ;
1834 virtual void setXSize (int val) ;
1835 virtual int getYSize () ;
1836 virtual void setYSize (int val) ;
1837 virtual double getXScale () ;
1838 virtual void setXScale (double val) ;
1839 virtual double getYScale () ;
1840 virtual void setYScale (double val) ;
1841 virtual double getMinHeight () ;
1842 virtual void setMinHeight (double val) ;
1843 virtual double getMaxHeight () ;
1844 virtual void setMaxHeight (double val) ;
1845
1846 virtual double getRHILon ();
1847 virtual void setRHILon (double val);
1848 virtual double getRHILat ();
1849 virtual void setRHILat (double val);
1850 virtual double getAzimuthAngle ();
1851 virtual void setAzimuthAngle (double val);
1852 virtual std::vector<Angles> getAngles ();
1853 virtual void setAngles (const std::vector<Angles>& val);
1854 virtual double getRange ();
1855 virtual void setRange (double val);
1856
1857 virtual double getStartLongitude () ;
1858 virtual void setStartLongitude (double val);
1859 virtual double getStartLatitude () ;
1860 virtual void setStartLatitude (double val);
1861 virtual double getStopLongitude ();
1862 virtual void setStopLongitude (double val);
1863 virtual double getStopLatitude ();
1864 virtual void setStopLatitude (double val);
1865
1866protected:
1867 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
1868 friend class OdimFactory;
1869 XsecObject(H5::H5File* file);
1870
1871};
1872
1873/*===========================================================================*/
1874/* 2D_PRODUCT Dataset */
1875/*===========================================================================*/
1886class RADAR_API Product_2D : public OdimDataset, public WHATDatasetMetadata, public HOWPolarMetadata //, public WHEREImageMetadata, public HOWCartesianImageMetadata
1887{
1888public:
1889 virtual ~Product_2D();
1890
1891 virtual void setMandatoryInformations();
1892
1893 virtual std::string getObject ();
1894 virtual void setObject (const std::string& val);
1895 virtual std::string getVersion ();
1896 virtual void setVersion (const std::string& val);
1897 virtual time_t getDateTime ();
1898 virtual void setDateTime (const time_t val);
1899 virtual SourceInfo getSource ();
1900 virtual void setSource (const SourceInfo& val);
1901
1902 virtual std::string getProduct ();
1903 virtual void setProduct (const std::string& val);
1904 virtual double getProdPar ();
1905 virtual VILHeights getProdParVIL ();
1906 virtual void setProdPar (double val);
1907 virtual void setProdPar (const VILHeights& val);
1908 virtual std::string getQuantity ();
1909 virtual void setQuantity (const std::string& val);
1910 virtual time_t getStartDateTime ();
1911 virtual void setStartDateTime (time_t val);
1912 virtual time_t getEndDateTime ();
1913 virtual void setEndDateTime (time_t val);
1914 virtual double getGain ();
1915 virtual void setGain (double val);
1916 virtual double getOffset ();
1917 virtual void setOffset (double val);
1918 virtual double getNodata ();
1919 virtual void setNodata (double val);
1920 virtual double getUndetect ();
1921 virtual void setUndetect (double val);
1922
1923 virtual std::string getAzimuthMethod ();
1924 virtual void setAzimuthMethod (const std::string& val);
1925 virtual std::string getBinMethod ();
1926 virtual void setBinMethod (const std::string& val);
1927 virtual std::vector<double> getElevationAngles ();
1928// virtual void setElevationAngles ( std::vector<double>& val);
1929 virtual void setElevationAngles (const std::vector<double>& val);
1930 virtual std::vector<double> getStartAzimuthAngles ();
1931 virtual void setStartAzimuthAngles (const std::vector<double>& val);
1932 virtual std::vector<double> getStopAzimuthAngles ();
1933 virtual void setStopAzimuthAngles (const std::vector<double>& val);
1934 virtual std::vector<double> getStartAzimuthTimes ();
1935 virtual void setStartAzimuthTimes (const std::vector<double>& val);
1936 virtual std::vector<double> getStopAzimuthTimes ();
1937 virtual void setStopAzimuthTimes (const std::vector<double>& val);
1938// virtual std::vector<AZTimes> getAzimuthTimes ();
1939// virtual void setAzimuthTimes (const std::vector<AZTimes>& val);
1940
1941 virtual double getPointAccEl ();
1942 virtual void setPointAccEl (double val);
1943 virtual double getPointAccAZ ();
1944 virtual void setPointAccAZ (double val);
1945 virtual bool getMalfunc ();
1946 virtual void setMalfunc (bool val);
1947 virtual std::string getRadarMsg ();
1948 virtual void setRadarMsg (const std::string& val);
1949 virtual double getRadarHorizon ();
1950 virtual void setRadarHorizon (double val);
1951// virtual double getMDS ();
1952// virtual void setMDS (double val);
1953 virtual double getNEZ ();
1954 virtual void setNEZ (double val);
1955 virtual double getOUR ();
1956 virtual void setOUR (double val);
1957 virtual std::vector<std::string> getDClutter ();
1958 virtual void setDClutter (const std::vector<std::string>& value);
1959 virtual std::string getComment ();
1960 virtual void setComment (const std::string& val);
1961 virtual double getSQI ();
1962 virtual void setSQI (double val);
1963 virtual double getCSR ();
1964 virtual void setCSR (double val);
1965 virtual double getLOG ();
1966 virtual void setLOG (double val);
1967 virtual bool getVPRCorr ();
1968 virtual void setVPRCorr (bool val);
1969 virtual double getFreeze ();
1970 virtual void setFreeze (double val);
1971 virtual double getMin ();
1972 virtual void setMin (double val);
1973 virtual double getMax ();
1974 virtual void setMax (double val);
1975 virtual double getStep ();
1976 virtual void setStep (double val);
1977 virtual int getLevels ();
1978 virtual void setLevels (int val);
1979 virtual double getPeakPwr ();
1980 virtual void setPeakPwr (double val);
1981 virtual double getAvgPwr ();
1982 virtual void setAvgPwr (double val);
1983 virtual double getDynRange ();
1984 virtual void setDynRange (double val);
1985 virtual double getRAC ();
1986 virtual void setRAC (double val);
1987 virtual bool getBBC ();
1988 virtual void setBBC (bool val);
1989 virtual double getPAC ();
1990 virtual void setPAC (double val);
1991 virtual double getS2N ();
1992 virtual void setS2N (double val);
1993 virtual std::string getPolarization ();
1994 virtual void setPolarization (const std::string& val);
1995
1996 virtual std::string getTaskOrProdGen ();
1997 virtual void setTaskOrProdGen (const std::string& val);
1998 virtual time_t getStartEpochs ();
1999 virtual void setStartEpochs (time_t val);
2000 virtual time_t getEndEpochs ();
2001 virtual void setEndEpochs (time_t val);
2002 virtual std::string getSystem ();
2003 virtual void setSystem (const std::string& val);
2004 virtual std::string getSoftware ();
2005 virtual void setSoftware (const std::string& val);
2006 virtual std::string getSoftwareVer ();
2007 virtual void setSoftwareVer (const std::string& val);
2008 virtual double getZR_A ();
2009 virtual void setZR_A (double val);
2010 virtual double getZR_B ();
2011 virtual void setZR_B (double val);
2012 virtual double getKR_A ();
2013 virtual void setKR_A (double val);
2014 virtual double getKR_B ();
2015 virtual void setKR_B (double val);
2016 virtual bool getSimulated ();
2017 virtual void setSimulated (bool val);
2018
2019 virtual double getBeamWidth ();
2020 virtual double getBeamWidth (double defaultValue);
2021 virtual void setBeamWidth (double val);
2022 virtual double getWaveLength ();
2023 virtual double getWaveLength (double defaultValue);
2024 virtual void setWaveLength (double val);
2025 virtual double getRPM ();
2026 virtual double getRPM (double defaultValue);
2027 virtual void setRPM (double val);
2028 virtual double getPulseWidth ();
2029 virtual double getPulseWidth (double defaultValue);
2030 virtual void setPulseWidth (double val);
2031 virtual double getRXBandWidth ();
2032 virtual double getRXBandWidth (double defaultValue);
2033 virtual void setRXBandWidth (double val);
2034 virtual int getLowPRF ();
2035 virtual int getLowPRF (int defaultValue);
2036 virtual void setLowPRF (int val);
2037 virtual int getHighPRF ();
2038 virtual int getHighPRF (int defaultValue);
2039 virtual void setHighPRF (int val);
2040 virtual double getTXLoss () ;
2041 virtual double getTXLoss (double defaultValue);
2042 virtual void setTXLoss (double val) ;
2043 virtual double getRXLoss () ;
2044 virtual double getRXLoss (double defaultValue);
2045 virtual void setRXLoss (double val) ;
2046 virtual double getRadomeLoss () ;
2047 virtual double getRadomeLoss (double defaultValue);
2048 virtual void setRadomeLoss (double val) ;
2049 virtual double getAntGain () ;
2050 virtual double getAntGain (double defaultValue);
2051 virtual void setAntGain (double val) ;
2052 virtual double getBeamWH () ;
2053 virtual double getBeamWH (double defaultValue);
2054 virtual void setBeamWH (double val) ;
2055 virtual double getBeamWV () ;
2056 virtual double getBeamWV (double defaultValue);
2057 virtual void setBeamWV (double val) ;
2058 virtual double getGasAttn () ;
2059 virtual double getGasAttn (double defaultValue);
2060 virtual void setGasAttn (double val) ;
2061 virtual double getRadConstH () ;
2062 virtual double getRadConstH (double defaultValue);
2063 virtual void setRadConstH (double val) ;
2064 virtual double getRadConstV () ;
2065 virtual double getRadConstV (double defaultValue);
2066 virtual void setRadConstV (double val) ;
2067 virtual double getNomTXPower () ;
2068 virtual double getNomTXPower (double defaultValue);
2069 virtual void setNomTXPower (double val) ;
2070 virtual std::vector<double> getTXPower () ;
2071 virtual std::vector<double> getTXPower (double defaultValue);
2072 virtual void setTXPower (double val) ;
2073 virtual void setTXPower (const std::vector<double>& val) ;
2074 virtual double getNI () ;
2075 virtual double getNI (double defaultValue);
2076 virtual void setNI (double val) ;
2077 virtual double getVSamples () ;
2078 virtual double getVSamples (double defaultValue);
2079 virtual void setVSamples (double val) ;
2080/*---- Queste le devo inserire anche se non sono reali per un prodotto, perche' l'oggetto eredita da HowPolarMetadata */
2081/*---- PRIMA O POI BISOGNERA' SANARE LA SITUAZIONE PPA 2013-12-18*/
2082 virtual std::vector<AZAngles> getAzimuthAngles () {}
2083 virtual void setAzimuthAngles (const std::vector<AZAngles>& val, int precision = 10) {}
2084/*--- FINE METODI VUOTI */
2085
2086/*-----
2087
2088 virtual double getLongitude ();
2089 virtual void setLongitude (double val);
2090 virtual double getLatitude ();
2091 virtual void setLatitude (double val);
2092 virtual double getAltitude ();
2093 virtual void setAltitude (double val);
2094
2095
2096 virtual double getEAngle ();
2097 virtual void setEAngle (double val);
2098 virtual int getNumBins ();
2099 virtual void setNumBins (int val);
2100 virtual double getRangeStart ();
2101 virtual void setRangeStart (double val);
2102 virtual double getRangeScale ();
2103 virtual void setRangeScale (double val);
2104 virtual int getNumRays ();
2105 virtual void setNumRays (int val);
2106 virtual int getA1Gate ();
2107 virtual void setA1Gate (int val);
2108
2109----*/
2110
2118 virtual Product_2D_Data* createQuantityData (const char* name);
2119 virtual Product_2D_Data* createQuantityData (const std::string& name);
2126 virtual int getQuantityDataCount();
2134 virtual bool hasQuantityData (const char* name);
2135 virtual bool hasQuantityData (const std::string& name);
2143 virtual int getQuantityDataIndex (const char* name);
2144 virtual int getQuantityDataIndex (const std::string& name);
2153 virtual Product_2D_Data* getQuantityData (int index);
2162 virtual Product_2D_Data* getQuantityData (const char* name);
2163 virtual Product_2D_Data* getQuantityData (const std::string& name);
2170 std::set<std::string> getStoredQuantities ();
2177 virtual void removeQuantityData (const char* name);
2178 virtual void removeQuantityData (const std::string& name);
2179
2180protected :
2181 Object_2D* object_2d;
2182
2183 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
2184 friend class Object_2D;
2185 Product_2D(Object_2D* object_2d, H5::Group* group);
2186
2187};
2188
2189/*===========================================================================*/
2190/* HORIZONTAL 2D_PRODUCT Dataset */
2191/*===========================================================================*/
2192
2202
2203class RADAR_API Horizontal_Product_2D : public Product_2D, public WHEREImageMetadata, public HOWCartesianImageMetadata
2204{
2205public:
2206 virtual ~Horizontal_Product_2D();
2207public:
2208// virtual void setMandatoryInformations();
2209
2210 virtual std::string getProjectionArguments () ;
2211 virtual void setProjectionArguments (const std::string& val) ;
2212
2213 virtual int getXSize () ;
2214 virtual void setXSize (int val) ;
2215 virtual int getYSize () ;
2216 virtual void setYSize (int val) ;
2217 virtual double getXScale () ;
2218 virtual void setXScale (double val) ;
2219 virtual double getYScale () ;
2220 virtual void setYScale (double val) ;
2221
2222 virtual double getLL_Longitude () ;
2223 virtual void setLL_Longitude (double val) ;
2224 virtual double getLL_Latitude () ;
2225 virtual void setLL_Latitude (double val) ;
2226
2227 virtual double getUL_Longitude () ;
2228 virtual void setUL_Longitude (double val) ;
2229 virtual double getUL_Latitude () ;
2230 virtual void setUL_Latitude (double val) ;
2231
2232 virtual double getUR_Longitude () ;
2233 virtual void setUR_Longitude (double val) ;
2234 virtual double getUR_Latitude () ;
2235 virtual void setUR_Latitude (double val) ;
2236
2237 virtual double getLR_Longitude () ;
2238 virtual void setLR_Longitude (double val) ;
2239 virtual double getLR_Latitude () ;
2240 virtual void setLR_Latitude (double val) ;
2241/*--- queste devono essere implementate .-----*/
2242 virtual std::vector<Angles> getAngles () ;
2243 virtual void setAngles (const std::vector<Angles>& val) ;
2244 virtual std::vector<Arotation> getArotation () ;
2245 virtual void setArotation (const std::vector<Arotation>& val);
2246 virtual std::string getCAMethod ();
2247 virtual void setCAMethod (const std::string& val) ;
2248 virtual std::vector<Nodes> getNodes () ;
2249 virtual void setNodes (const std::vector<Nodes>& val) ;
2250 virtual int getACCnum () ;
2251 virtual void setCCnum (int val) ;
2252
2253protected:
2254// Product_2D * prod;
2255
2256 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
2257 friend class Product_2D;
2258 Horizontal_Product_2D (Object_2D* object_2d, H5::Group* group);
2259};
2260
2261/*===========================================================================*/
2262/* PPI PRODUCT Dataset */
2263/*===========================================================================*/
2273class RADAR_API Product_PPI : public Horizontal_Product_2D
2274{
2275public:
2276 virtual ~Product_PPI() ;
2277
2278 virtual void setMandatoryInformations();
2279
2280private:
2281
2282 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
2283 friend class Horizontal_Product_2D ;
2284 friend class Object_2D;
2285 Product_PPI(Object_2D * object_2d, H5::Group* group);
2286};
2287/*===========================================================================*/
2288/* CAPPI PRODUCT Dataset */
2289/*===========================================================================*/
2299class RADAR_API Product_CAPPI : public Horizontal_Product_2D
2300{
2301public:
2302 virtual ~Product_CAPPI() ;
2303
2304 virtual void setMandatoryInformations();
2305
2306private:
2307
2308 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
2309 friend class Horizontal_Product_2D ;
2310 friend class Object_2D;
2311 Product_CAPPI(Object_2D * object_2d, H5::Group* group);
2312};
2313/*===========================================================================*/
2314/* PCAPPI PRODUCT Dataset */
2315/*===========================================================================*/
2325class RADAR_API Product_PCAPPI : public Horizontal_Product_2D
2326{
2327public:
2328 virtual ~Product_PCAPPI() ;
2329
2330 virtual void setMandatoryInformations();
2331
2332private:
2333
2334 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
2335 friend class Horizontal_Product_2D ;
2336 friend class Object_2D;
2337 Product_PCAPPI(Object_2D * object_2d, H5::Group* group);
2338};
2339/*===========================================================================*/
2340/* ETOP PRODUCT Dataset */
2341/*===========================================================================*/
2351class RADAR_API Product_ETOP : public Horizontal_Product_2D
2352{
2353public:
2354 virtual ~Product_ETOP() ;
2355
2356 virtual void setMandatoryInformations();
2357
2358private:
2359
2360 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
2361 friend class Horizontal_Product_2D ;
2362 friend class Object_2D;
2363 Product_ETOP(Object_2D * object_2d, H5::Group* group);
2364};
2365/*===========================================================================*/
2366/* MAX PRODUCT Dataset */
2367/*===========================================================================*/
2377class RADAR_API Product_MAX : public Horizontal_Product_2D
2378{
2379public:
2380 virtual ~Product_MAX() ;
2381
2382 virtual void setMandatoryInformations();
2383
2384private:
2385
2386 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
2387 friend class Horizontal_Product_2D ;
2388 friend class Object_2D;
2389 Product_MAX(Object_2D * object_2d, H5::Group* group);
2390};
2391
2392/*===========================================================================*/
2393/* RR PRODUCT Dataset */
2394/*===========================================================================*/
2404class RADAR_API Product_RR : public Horizontal_Product_2D
2405{
2406public:
2407 virtual ~Product_RR() ;
2408
2409 virtual void setMandatoryInformations();
2410
2411private:
2412
2413 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
2414 friend class Horizontal_Product_2D ;
2415 friend class Object_2D;
2416 Product_RR(Object_2D * object_2d, H5::Group* group);
2417};
2418/*===========================================================================*/
2419/* VIL PRODUCT Dataset */
2420/*===========================================================================*/
2430class RADAR_API Product_VIL : public Horizontal_Product_2D
2431{
2432public:
2433 virtual ~Product_VIL() ;
2434
2435 virtual void setMandatoryInformations();
2436
2437private:
2438
2439 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
2440 friend class Horizontal_Product_2D ;
2441 friend class Object_2D;
2442 Product_VIL(Object_2D * object_2d, H5::Group* group);
2443};
2444/*===========================================================================*/
2445/* LBM PRODUCT Dataset */
2446/*===========================================================================*/
2456class RADAR_API Product_LBM : public Horizontal_Product_2D
2457{
2458public:
2459 virtual ~Product_LBM() ;
2460
2461 virtual void setMandatoryInformations();
2462
2463private:
2464
2465 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
2466 friend class Horizontal_Product_2D ;
2467 friend class Object_2D;
2468 Product_LBM(Object_2D * object_2d, H5::Group* group);
2469};
2470
2471/*===========================================================================*/
2472/* POH PRODUCT Dataset */
2473/*===========================================================================*/
2483class RADAR_API Product_POH : public Horizontal_Product_2D
2484{
2485public:
2486 virtual ~Product_POH() ;
2487
2488 virtual void setMandatoryInformations();
2489
2490private:
2491
2492 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
2493 friend class Horizontal_Product_2D ;
2494 friend class Object_2D;
2495 Product_POH(Object_2D * object_2d, H5::Group* group);
2496};
2497
2498/*===========================================================================*/
2499/* COMP PRODUCT Dataset */
2500/*===========================================================================*/
2510class RADAR_API Product_COMP : public Horizontal_Product_2D
2511{
2512public:
2513 virtual ~Product_COMP() ;
2514
2515 virtual void setMandatoryInformations();
2516
2517private:
2518
2519 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
2520 friend class Horizontal_Product_2D ;
2521 friend class Object_2D;
2522 Product_COMP(Object_2D * object_2d, H5::Group* group);
2523};
2524
2525/*===========================================================================*/
2526/* VERTICAL 2D_PRODUCT Dataset */
2527/*===========================================================================*/
2537class RADAR_API Vertical_Product_2D : public Product_2D, public WHEREXSECMetadata
2538{
2539public:
2540 virtual ~Vertical_Product_2D();
2541public:
2542 //virtual void setMandatoryInformations();
2543
2544 virtual int getXSize () ;
2545 virtual void setXSize (int val) ;
2546 virtual int getYSize () ;
2547 virtual void setYSize (int val) ;
2548 virtual double getXScale () ;
2549 virtual void setXScale (double val) ;
2550 virtual double getYScale () ;
2551 virtual void setYScale (double val) ;
2552 virtual double getMinHeight () ;
2553 virtual void setMinHeight (double val) ;
2554 virtual double getMaxHeight () ;
2555 virtual void setMaxHeight (double val) ;
2556
2557protected:
2558 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
2559 friend class Product_2D;
2560 Vertical_Product_2D(Object_2D* object_2d, H5::Group* group);
2561};
2562
2563/*===========================================================================*/
2564/* XSEC PRODUCT Dataset */
2565/*===========================================================================*/
2575class RADAR_API Product_XSEC : public Vertical_Product_2D
2576{
2577public:
2578 virtual ~Product_XSEC() ;
2579
2580 virtual void setMandatoryInformations();
2581
2582private:
2583
2584 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
2585 friend class Vertical_Product_2D ;
2586 friend class Object_2D;
2587 Product_XSEC(Object_2D* object_2d, H5::Group* group);
2588};
2589
2590/*===========================================================================*/
2591/* RHI PRODUCT Dataset */
2592/*===========================================================================*/
2602class RADAR_API Product_RHI : public Vertical_Product_2D, public WHERERhiMetadata
2603{
2604public:
2605 virtual ~Product_RHI() ;
2606
2607 virtual void setMandatoryInformations();
2608
2609 virtual double getRHILon ();
2610 virtual void setRHILon (double val);
2611 virtual double getRHILat ();
2612 virtual void setRHILat (double val);
2613 virtual double getAzimuthAngle ();
2614 virtual void setAzimuthAngle (double val);
2615 virtual std::vector<Angles> getAngles ();
2616 virtual void setAngles (const std::vector<Angles>& val);
2617 virtual double getRange ();
2618 virtual void setRange (double val);
2619
2620private:
2621
2622 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
2623 friend class Vertical_Product_2D ;
2624 friend class Object_2D;
2625 Product_RHI(Object_2D* object_2d, H5::Group* group);
2626};
2627
2628/*===========================================================================*/
2629/* VSP PRODUCT Dataset */
2630/*===========================================================================*/
2640class RADAR_API Product_Panel : public Vertical_Product_2D , public WHEREPanelMetadata
2641{
2642public:
2643 virtual ~Product_Panel() ;
2644
2645 virtual void setMandatoryInformations();
2646 virtual double getStartLongitude () ;
2647 virtual void setStartLongitude (double val);
2648 virtual double getStartLatitude () ;
2649 virtual void setStartLatitude (double val);
2650 virtual double getStopLongitude ();
2651 virtual void setStopLongitude (double val);
2652 virtual double getStopLatitude ();
2653 virtual void setStopLatitude (double val);
2654
2655protected:
2656
2657 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
2658 friend class Vertical_Product_2D ;
2659 friend class Product_2D;
2660 Product_Panel(Object_2D* object_2d, H5::Group* group);
2661};
2662
2663/*===========================================================================*/
2664/* HSP PRODUCT Dataset */
2665/*===========================================================================*/
2675class RADAR_API Product_HSP : public Product_Panel
2676{
2677public:
2678 virtual ~Product_HSP() ;
2679
2680 virtual void setMandatoryInformations();
2681
2682private:
2683
2684 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
2685 friend class Product_Panel;
2686 friend class Object_2D;
2687 Product_HSP(Object_2D* object_2d, H5::Group* group);
2688};
2689
2690/*===========================================================================*/
2691/* VSP PRODUCT Dataset */
2692/*===========================================================================*/
2702class RADAR_API Product_VSP : public Product_Panel
2703{
2704public:
2705 virtual ~Product_VSP() ;
2706
2707 virtual void setMandatoryInformations();
2708
2709private:
2710
2711 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
2712 friend class Product_Panel;
2713 friend class Object_2D;
2714 Product_VSP(Object_2D* object_2d, H5::Group* group);
2715};
2716/*===========================================================================*/
2717/* 2D PRODUCT DATA */
2718/*===========================================================================*/
2719
2727class RADAR_API Product_2D_Data: public OdimData, public WHATDatasetMetadata
2728{
2729public:
2730 virtual ~Product_2D_Data();
2731
2732 virtual std::string getObject ();
2733 virtual void setObject (const std::string& val);
2734 virtual std::string getVersion ();
2735 virtual void setVersion (const std::string& val);
2736 virtual time_t getDateTime ();
2737 virtual void setDateTime (const time_t val);
2738 virtual SourceInfo getSource ();
2739 virtual void setSource (const SourceInfo& val);
2740
2741 virtual std::string getProduct ();
2742 virtual void setProduct (const std::string& val);
2743 virtual double getProdPar ();
2744 virtual VILHeights getProdParVIL ();
2745 virtual void setProdPar (double val);
2746 virtual void setProdPar (const VILHeights& val);
2747 virtual std::string getQuantity ();
2748 virtual void setQuantity (const std::string& val);
2749 virtual time_t getStartDateTime();
2750 virtual void setStartDateTime(time_t val);
2751 virtual time_t getEndDateTime ();
2752 virtual void setEndDateTime (time_t val);
2753 virtual double getGain ();
2754 virtual void setGain (double val);
2755 virtual double getOffset ();
2756 virtual void setOffset (double val);
2757 virtual double getNodata ();
2758 virtual void setNodata (double val);
2759 virtual double getUndetect ();
2760 virtual void setUndetect (double val);
2761
2767 virtual int getNumXElem();
2773 virtual int getNumYElem();
2779 H5::AtomType getElemType();
2787 virtual void readTranslatedData(DataMatrix<float>& matrix);
2795 virtual void readTranslatedData(DataMatrix<double>& matrix);
2807 virtual void writeAndTranslate(DataMatrix<float>& matrix, float offset, float gain, H5::DataType type);
2819 virtual void writeAndTranslate(DataMatrix<double>& matrix, double offset, double gain, H5::DataType type);
2820
2827 virtual int getQualityDataCount();
2834 virtual OdimQuality* createQualityData ();
2844 virtual OdimQuality* getQualityData (int index);
2852 virtual void removeQualityData (int index);
2853
2854private:
2855 Product_2D* prod;
2856
2857 /* uses cannot directly create OdimH5 objects, only factories provide functions to do it */
2858 friend class Horizontal_Product_2D;
2859 friend class Product_2D;
2860 Product_2D_Data(Product_2D* prod, H5::Group* group);
2861};
2862
2863
2864/*===========================================================================*/
2865
2866}
2867
2868#endif
2869
2870
OdimH5 v2.1 CompObject.
Definition odimh5v21_classes.hpp:1799
Matrix of data values.
Definition odimh5v21_support.hpp:507
Interface fot HOW dataset attributes methods for cartesian images.
Definition odimh5v21_metadata.hpp:2654
Interface fot HOW dataset attributes methods for polar data.
Definition odimh5v21_metadata.hpp:2261
Interface fot HOW root attributes methods.
Definition odimh5v21_metadata.hpp:1783
OdimH5 v2.1 Horizontal Product_2D Dataset.
Definition odimh5v21_classes.hpp:2204
virtual void setProjectionArguments(const std::string &val)
Set the 'projection arguments' attribute value.
Definition odimh5v21_classes.cpp:3124
virtual void setNodes(const std::vector< Nodes > &val)
Set the 'nodes' attribute values.
Definition odimh5v21_classes.cpp:3172
virtual double getYScale()
Get the 'Y scale' attribute value.
Definition odimh5v21_classes.cpp:3132
virtual double getUR_Longitude()
Get the 'UpperRight Longitude' attribute value.
Definition odimh5v21_classes.cpp:3145
virtual double getUL_Latitude()
Get the 'UpperLeft Latitude' attribute value.
Definition odimh5v21_classes.cpp:3142
virtual double getLL_Latitude()
Get the 'LowerLeft Latitude' attribute value.
Definition odimh5v21_classes.cpp:3137
virtual void setLL_Latitude(double val)
Set the 'LowerLeft Latitude' attribute value.
Definition odimh5v21_classes.cpp:3138
virtual void setLL_Longitude(double val)
Set the 'LowerLeft Longitude' attribute value.
Definition odimh5v21_classes.cpp:3136
virtual std::vector< Arotation > getArotation()
Get the 'aroration' attribute values.
Definition odimh5v21_classes.cpp:3163
virtual void setCAMethod(const std::string &val)
Set the 'camethod' attribute values.
Definition odimh5v21_classes.cpp:3167
virtual std::vector< Angles > getAngles()
Get the 'angles' attribute values.
Definition odimh5v21_classes.cpp:3161
virtual double getUR_Latitude()
Get the 'UpperRight Latitude' attribute value.
Definition odimh5v21_classes.cpp:3147
virtual double getLR_Longitude()
Get the 'LowerRight Longitude' attribute value.
Definition odimh5v21_classes.cpp:3150
virtual void setYScale(double val)
Set the 'Y scale' attribute value.
Definition odimh5v21_classes.cpp:3133
virtual void setLR_Longitude(double val)
Set the 'LowerRight Longitude' attribute value.
Definition odimh5v21_classes.cpp:3151
virtual std::vector< Nodes > getNodes()
Get the 'nodes' attribute values.
Definition odimh5v21_classes.cpp:3169
virtual void setArotation(const std::vector< Arotation > &val)
Set the 'aroration' attribute values.
Definition odimh5v21_classes.cpp:3164
virtual void setLR_Latitude(double val)
Set the 'LowerRight Latitude' attribute value.
Definition odimh5v21_classes.cpp:3153
virtual double getXScale()
Get the 'X scale' attribute value.
Definition odimh5v21_classes.cpp:3130
virtual void setXSize(int val)
Set the 'X size' attribute value.
Definition odimh5v21_classes.cpp:3127
virtual std::string getProjectionArguments()
Get the 'projection arguments' attribute value.
Definition odimh5v21_classes.cpp:3123
virtual int getACCnum()
Get the 'ACCnum' attribute value.
Definition odimh5v21_classes.cpp:3174
virtual void setUL_Latitude(double val)
Set the 'UpperLeft Latitude' attribute value.
Definition odimh5v21_classes.cpp:3143
virtual void setUR_Latitude(double val)
Set the 'UpperRight Latitude' attribute value.
Definition odimh5v21_classes.cpp:3148
virtual void setCCnum(int val)
Set the 'ACCnum' attribute value.
Definition odimh5v21_classes.cpp:3175
virtual double getUL_Longitude()
Get the 'UpperLeft Longitude' attribute value.
Definition odimh5v21_classes.cpp:3140
virtual double getLL_Longitude()
Get the 'LowerLeft Longitude' attribute value.
Definition odimh5v21_classes.cpp:3135
virtual double getLR_Latitude()
Get the 'LowerRight Latitude' attribute value.
Definition odimh5v21_classes.cpp:3152
virtual void setYSize(int val)
Set the 'Y size' attribute value.
Definition odimh5v21_classes.cpp:3129
virtual int getXSize()
Get the 'X size' attribute value.
Definition odimh5v21_classes.cpp:3126
virtual int getYSize()
Get the 'Y size' attribute value.
Definition odimh5v21_classes.cpp:3128
virtual void setUL_Longitude(double val)
Set the 'UpperLeft Longitude' attribute value.
Definition odimh5v21_classes.cpp:3141
virtual void setUR_Longitude(double val)
Set the 'UpperRight Longitude' attribute value.
Definition odimh5v21_classes.cpp:3146
virtual void setXScale(double val)
Set the 'X scale' attribute value.
Definition odimh5v21_classes.cpp:3131
virtual std::string getCAMethod()
Get the 'camethod' attribute values.
Definition odimh5v21_classes.cpp:3166
virtual void setAngles(const std::vector< Angles > &val)
Set the 'angles' attribute values.
Definition odimh5v21_classes.cpp:3162
OdimH5 v2.1 horizontalObject.
Definition odimh5v21_classes.hpp:1713
virtual double getLR_Longitude()
Get the 'LowerRight Longitude' attribute value.
Definition odimh5v21_classes.cpp:2571
virtual double getUL_Latitude()
Get the 'UpperLeft Latitude' attribute value.
Definition odimh5v21_classes.cpp:2563
virtual void setYScale(double val)
Set the 'Y scale' attribute value.
Definition odimh5v21_classes.cpp:2554
virtual void setLR_Latitude(double val)
Set the 'LowerRight Latitude' attribute value.
Definition odimh5v21_classes.cpp:2574
virtual void setYSize(int val)
Set the 'Y size' attribute value.
Definition odimh5v21_classes.cpp:2550
virtual void setProjectionArguments(const std::string &val)
Set the 'projection arguments' attribute value.
Definition odimh5v21_classes.cpp:2545
virtual void setUL_Latitude(double val)
Set the 'UpperLeft Latitude' attribute value.
Definition odimh5v21_classes.cpp:2564
virtual double getLR_Latitude()
Get the 'LowerRight Latitude' attribute value.
Definition odimh5v21_classes.cpp:2573
virtual double getUR_Latitude()
Get the 'UpperRight Latitude' attribute value.
Definition odimh5v21_classes.cpp:2568
virtual void setUL_Longitude(double val)
Set the 'UpperLeft Longitude' attribute value.
Definition odimh5v21_classes.cpp:2562
virtual int getXSize()
Get the 'X size' attribute value.
Definition odimh5v21_classes.cpp:2547
virtual void setXScale(double val)
Set the 'X scale' attribute value.
Definition odimh5v21_classes.cpp:2552
virtual double getLL_Longitude()
Get the 'LowerLeft Longitude' attribute value.
Definition odimh5v21_classes.cpp:2556
virtual void setUR_Latitude(double val)
Set the 'UpperRight Latitude' attribute value.
Definition odimh5v21_classes.cpp:2569
virtual int getYSize()
Get the 'Y size' attribute value.
Definition odimh5v21_classes.cpp:2549
virtual void setLR_Longitude(double val)
Set the 'LowerRight Longitude' attribute value.
Definition odimh5v21_classes.cpp:2572
virtual void setLL_Longitude(double val)
Set the 'LowerLeft Longitude' attribute value.
Definition odimh5v21_classes.cpp:2557
virtual std::string getProjectionArguments()
Get the 'projection arguments' attribute value.
Definition odimh5v21_classes.cpp:2544
virtual double getYScale()
Get the 'Y scale' attribute value.
Definition odimh5v21_classes.cpp:2553
virtual double getUR_Longitude()
Get the 'UpperRight Longitude' attribute value.
Definition odimh5v21_classes.cpp:2566
virtual void setUR_Longitude(double val)
Set the 'UpperRight Longitude' attribute value.
Definition odimh5v21_classes.cpp:2567
virtual void setLL_Latitude(double val)
Set the 'LowerLeft Latitude' attribute value.
Definition odimh5v21_classes.cpp:2559
virtual void setXSize(int val)
Set the 'X size' attribute value.
Definition odimh5v21_classes.cpp:2548
virtual double getUL_Longitude()
Get the 'UpperLeft Longitude' attribute value.
Definition odimh5v21_classes.cpp:2561
virtual double getLL_Latitude()
Get the 'LowerLeft Latitude' attribute value.
Definition odimh5v21_classes.cpp:2558
virtual double getXScale()
Get the 'X scale' attribute value.
Definition odimh5v21_classes.cpp:2551
OdimH5 v2.1 ImageObject.
Definition odimh5v21_classes.hpp:1772
Attribute (odim metadata) group.
Definition odimh5v21_metadata.hpp:54
OdimH5 v2.1 Object_2D.
Definition odimh5v21_classes.hpp:1480
virtual Product_PCAPPI * createProductPCAPPI()
Create a new PCAPPI product in this volume.
Definition odimh5v21_classes.cpp:2141
virtual Product_MAX * createProductMAX()
Create a new MAX product in this volume.
Definition odimh5v21_classes.cpp:2181
virtual double getZR_A()
Get the 'zr_a' attribute value.
Definition odimh5v21_classes.cpp:2036
virtual void setSoftwareVer(const std::string &val)
Set the 'sw_version' attribute value.
Definition odimh5v21_classes.cpp:2035
virtual Product_XSEC * createProductXSEC()
Create a new XSEC product in this volume.
Definition odimh5v21_classes.cpp:2318
virtual Product_2D * getProduct(int index)
Get a pointer to a generic 2D product of the volume.
Definition odimh5v21_classes.cpp:2376
virtual std::string getSystem()
Get the 'system' attribute value.
Definition odimh5v21_classes.cpp:2030
virtual void setKR_B(double val)
Set the 'kr_b' attribute value.
Definition odimh5v21_classes.cpp:2043
virtual std::string getSoftwareVer()
Get the 'sw_version' attribute value.
Definition odimh5v21_classes.cpp:2034
virtual time_t getEndEpochs()
Get the 'endepochs' attribute value.
Definition odimh5v21_classes.cpp:2028
virtual std::string getTaskOrProdGen()
Get the 'task' attribute value.
Definition odimh5v21_classes.cpp:2024
virtual void setTaskOrProdGen(const std::string &val)
Set the 'task' attribute value.
Definition odimh5v21_classes.cpp:2025
virtual double getKR_B()
Get the 'kr_b' attribute value.
Definition odimh5v21_classes.cpp:2042
virtual std::vector< Product_2D * > getProducts()
Get the pointers to all the products in the file.
Definition odimh5v21_classes.cpp:2445
virtual Product_COMP * createProductCOMP()
Create a new COMP product in this volume.
Definition odimh5v21_classes.cpp:2280
virtual void setSoftware(const std::string &val)
Set the 'software' attribute value.
Definition odimh5v21_classes.cpp:2033
virtual Product_RHI * createProductRHI()
Create a new RHI product in this volume.
Definition odimh5v21_classes.cpp:2299
virtual double getKR_A()
Get the 'kr_a' attribute value.
Definition odimh5v21_classes.cpp:2040
virtual void setZR_B(double val)
Set the 'zr_b' attribute value.
Definition odimh5v21_classes.cpp:2039
virtual Product_VIL * createProductVIL()
Create a new VIL product in this volume.
Definition odimh5v21_classes.cpp:2219
virtual Product_POH * createProductPOH()
Create a new POH product in this volume.
Definition odimh5v21_classes.cpp:2259
virtual void setEndEpochs(time_t val)
Set the 'endepochs' attribute value.
Definition odimh5v21_classes.cpp:2029
virtual void removeProduct(int index)
Get a pointer to a 2D-Horizonatl product of the volume.
Definition odimh5v21_classes.cpp:2418
virtual Product_HSP * createProductHSP()
Create a new HSP product in this volume.
Definition odimh5v21_classes.cpp:2356
virtual Product_CAPPI * createProductCAPPI()
Create a new CAPPI product in this volume.
Definition odimh5v21_classes.cpp:2121
virtual double getZR_B()
Get the 'zr_b' attribute value.
Definition odimh5v21_classes.cpp:2038
virtual int getProductCount()
Get the number of products dataset store in this volume.
Definition odimh5v21_classes.cpp:2073
virtual Product_PPI * createProductPPI()
Create a new PPI product in this volume.
Definition odimh5v21_classes.cpp:2100
virtual time_t getStartEpochs()
Get the 'startepochs' attribute value.
Definition odimh5v21_classes.cpp:2026
virtual void setStartEpochs(time_t val)
Set the 'startepochs' attribute value.
Definition odimh5v21_classes.cpp:2027
virtual bool getSimulated()
Get the 'simulated' attribute value.
Definition odimh5v21_classes.cpp:2044
virtual void setSimulated(bool val)
Set the 'simulated' attribute value.
Definition odimh5v21_classes.cpp:2045
virtual Product_RR * createProductRR()
Create a new RR product in this volume.
Definition odimh5v21_classes.cpp:2200
virtual void setKR_A(double val)
Set the 'kr_a' attribute value.
Definition odimh5v21_classes.cpp:2041
virtual void setZR_A(double val)
Set the 'zr_a' attribute value.
Definition odimh5v21_classes.cpp:2037
virtual void setSystem(const std::string &val)
Set the 'system' attribute value.
Definition odimh5v21_classes.cpp:2031
virtual Product_2D * createProduct2D(const char *type)
Create a new generic 2D product in this volume.
Definition odimh5v21_classes.cpp:2077
virtual Product_VSP * createProductVSP()
Create a new VSP product in this volume.
Definition odimh5v21_classes.cpp:2337
virtual Product_ETOP * createProductETOP()
Create a new ETOP product in this volume.
Definition odimh5v21_classes.cpp:2161
virtual std::string getSoftware()
Get the 'software' attribute value.
Definition odimh5v21_classes.cpp:2032
virtual Product_LBM * createProductLBM()
Create a new LBM product in this volume.
Definition odimh5v21_classes.cpp:2238
virtual std::vector< std::string > getProductsType()
Get the pointers to all the product types in the file.
Definition odimh5v21_classes.cpp:2423
Generic OdimH5 v2.1 data group.
Definition odimh5v21_classes.hpp:415
virtual OdimQuality * getQuality(int index)
Get an existing Quality group using the given index.
Definition odimh5v21_classes.cpp:779
virtual int getDataHeight()
Get the height (rows num) of the matrix associated to this data group.
Definition odimh5v21_classes.cpp:622
virtual void removeQuality(int index)
Remove a 'quality' group from this dataset.
Definition odimh5v21_classes.cpp:796
virtual void writeData(const void *buff, int width, int height, const H5::DataType &elemtype)
Write data to the matrix associated to this 'data' group.
Definition odimh5v21_classes.cpp:664
virtual int getQualityCount()
Get the number of 'quality' groups inside this data group.
Definition odimh5v21_classes.cpp:760
virtual void getDataDimension(int *height, int *width)
Get height and width (rows and cols num) of the matrix associated to this data group.
Definition odimh5v21_classes.cpp:629
virtual int getDataWidth()
Get the width (cols num) of the matrix associated to this data group.
Definition odimh5v21_classes.cpp:615
virtual H5::Group * getH5Object()
Get the HDF5 group associated to this object.
Definition odimh5v21_classes.cpp:540
virtual bool existWhat()
Test is the WHAT attributes group exist.
Definition odimh5v21_classes.cpp:545
virtual bool existHow()
Test is the HOW attributes group exist.
Definition odimh5v21_classes.cpp:555
virtual MetadataGroup * getWhere()
Get the WHERE attributes group.
Definition odimh5v21_classes.cpp:567
virtual MetadataGroup * getWhat()
Get the WHAT attributes group.
Definition odimh5v21_classes.cpp:560
virtual bool existWhere()
Test is the WHERE attributes group exist.
Definition odimh5v21_classes.cpp:550
virtual void readData(void *buffer)
Read data from the dataset of this 'data' group.
Definition odimh5v21_classes.cpp:734
virtual OdimQuality * createQuality()
Create a new group 'Quality' inside this data.
Definition odimh5v21_classes.cpp:765
virtual H5::AtomType getDataType()
Get the HDF5 atom type of the elements of the HDF5 dataset contained inside this 'data' group.
Definition odimh5v21_classes.cpp:586
virtual MetadataGroup * getHow()
Get the HOW attributes group.
Definition odimh5v21_classes.cpp:574
Generic OdimH5 v2.1 dataset group.
Definition odimh5v21_classes.hpp:257
virtual MetadataGroup * getHow()
Get the HOW attributes group.
Definition odimh5v21_classes.cpp:376
virtual void removeData(int index)
Remove a 'data' group from this dataset.
Definition odimh5v21_classes.cpp:419
virtual bool existHow()
Test is the HOW attributes group exist.
Definition odimh5v21_classes.cpp:357
virtual void removeQuality(int index)
Remove a 'quality' group from this dataset.
Definition odimh5v21_classes.cpp:484
virtual int getQualityCount()
Get the number of 'quality' groups inside this dataset group.
Definition odimh5v21_classes.cpp:448
virtual OdimQuality * getQuality(int index)
Get an existing Quality group using the given index.
Definition odimh5v21_classes.cpp:467
virtual bool existWhat()
Test is the WHAT attributes group exist.
Definition odimh5v21_classes.cpp:347
virtual bool existWhere()
Test is the WHERE attributes group exist.
Definition odimh5v21_classes.cpp:352
virtual OdimData * getData(int index)
Get an existing dataset using the given index.
Definition odimh5v21_classes.cpp:402
virtual MetadataGroup * getWhat()
Get the WHAT attributes group.
Definition odimh5v21_classes.cpp:362
virtual H5::Group * getH5Object()
Get the HDF5 group associated to this object.
Definition odimh5v21_classes.cpp:342
virtual MetadataGroup * getWhere()
Get the WHERE attributes group.
Definition odimh5v21_classes.cpp:369
virtual int getDataCount()
Get the number of 'data' groups inside this dataset group.
Definition odimh5v21_classes.cpp:383
virtual OdimData * createData()
Create a new group 'data' inside this dataset.
Definition odimh5v21_classes.cpp:388
virtual OdimQuality * createQuality()
Create a new group 'Quality' inside this dataset.
Definition odimh5v21_classes.cpp:453
Definition odimh5v21_factory.hpp:52
OdimH5 object dumper.
Definition odimh5v21_dump.hpp:52
Generic OdimH5 v2.1 object.
Definition odimh5v21_classes.hpp:96
virtual SourceInfo getSource()
Get the value of 'source' attribute.
Definition odimh5v21_classes.cpp:313
virtual MetadataGroup * getWhat()
Get the WHAT attributes group.
Definition odimh5v21_classes.cpp:187
virtual OdimDataset * getDataset(int index)
Get a dataset.
Definition odimh5v21_classes.cpp:242
virtual time_t getDateTime()
Get the joined value of 'date' and 'time' attributes.
Definition odimh5v21_classes.cpp:311
virtual void setObject(const std::string &val)
Set the value of 'object' attribute.
Definition odimh5v21_classes.cpp:308
virtual std::string getConventions()
Get OdimH5 conventions attribute value.
Definition odimh5v21_classes.cpp:167
virtual OdimDataset * createDataset()
Create a new dataset.
Definition odimh5v21_classes.cpp:228
virtual void setVersion(const std::string &val)
Set the value of 'version' attribute.
Definition odimh5v21_classes.cpp:310
virtual std::string getVersion()
Get the value of 'version' attribute.
Definition odimh5v21_classes.cpp:309
virtual H5::Group * getH5Object()
Get the HDF5 group associated to this object.
Definition odimh5v21_classes.cpp:182
virtual void removeDataset(int index)
Delete a odim dataset group from the odim object.
Definition odimh5v21_classes.cpp:278
virtual MetadataGroup * getWhere()
Get the WHERE attributes group.
Definition odimh5v21_classes.cpp:194
virtual void setConventions()
Set OdimH5 conventions attribute value to the value required by OdimH5 specification.
Definition odimh5v21_classes.cpp:172
virtual bool existWhere()
Test is the WHERE attributes group exist.
Definition odimh5v21_classes.cpp:213
virtual void setDateTime(const time_t val)
Set the value of 'date' and 'time' attributes.
Definition odimh5v21_classes.cpp:312
virtual bool existWhat()
Test is the WHAT attributes group exist.
Definition odimh5v21_classes.cpp:208
virtual void setSource(const SourceInfo &val)
Set the value of 'source' attribute.
Definition odimh5v21_classes.cpp:314
virtual MetadataGroup * getHow()
Get the HOW attributes group.
Definition odimh5v21_classes.cpp:201
virtual bool existHow()
Test is the HOW attributes group exist.
Definition odimh5v21_classes.cpp:218
virtual int getDatasetCount()
Get the number of datasets in the file.
Definition odimh5v21_classes.cpp:223
virtual H5::H5File * getFile()
Get the associated HDF5 file object.
Definition odimh5v21_classes.cpp:177
virtual std::string getObject()
Get the value of 'object' attribute.
Definition odimh5v21_classes.cpp:307
Generic OdimH5 v2.1 quality group.
Definition odimh5v21_classes.hpp:665
virtual MetadataGroup * getHow()
Get the HOW attributes group.
Definition odimh5v21_classes.cpp:892
virtual H5::Group * getH5Object()
Get the HDF5 group associated to this object.
Definition odimh5v21_classes.cpp:858
virtual H5::AtomType getQualityType()
Get the HDF5 atom type of the elements of the HDF5 dataset contained inside this 'quality' group.
Definition odimh5v21_classes.cpp:904
virtual int getQualityWidth()
Get the width (cols num) of the matrix associated to this quality group.
Definition odimh5v21_classes.cpp:933
virtual MetadataGroup * getWhat()
Get the WHAT attributes group.
Definition odimh5v21_classes.cpp:878
virtual void writeQuality(const void *buff, int width, int height, const H5::DataType &elemtype)
Write data to the matrix associated to this 'quality' group.
Definition odimh5v21_classes.cpp:982
virtual bool existWhere()
Test is the WHERE attributes group exist.
Definition odimh5v21_classes.cpp:868
virtual void getQualityDimension(int *height, int *width)
Get height and width (rows and cols num) of the matrix associated to this quality group.
Definition odimh5v21_classes.cpp:947
virtual MetadataGroup * getWhere()
Get the WHERE attributes group.
Definition odimh5v21_classes.cpp:885
virtual int getQualityHeight()
Get the height (rows num) of the matrix associated to this quality group.
Definition odimh5v21_classes.cpp:940
virtual bool existWhat()
Test is the WHAT attributes group exist.
Definition odimh5v21_classes.cpp:863
virtual bool existHow()
Test is the HOW attributes group exist.
Definition odimh5v21_classes.cpp:873
virtual void readQuality(void *buffer)
Read data from the dataset of this 'quality' group.
Definition odimh5v21_classes.cpp:1052
OdimH5 v2.1 SCAN quantity data.
Definition odimh5v21_classes.hpp:1362
virtual void setVersion(const std::string &val)
Set the value of 'version' attribute.
Definition odimh5v21_classes.cpp:1816
virtual void setOffset(double val)
Set the value of 'offset' attribute.
Definition odimh5v21_classes.cpp:1837
virtual void setProdPar(double val)
Set the value of 'prodpar' attribute.
Definition odimh5v21_classes.cpp:1826
virtual void readTranslatedData(RayMatrix< float > &matrix)
Read the matrix data translating the values.
Definition odimh5v21_classes.cpp:1858
virtual double getProdPar()
Get the value of 'prodpar' attribute as double value.
Definition odimh5v21_classes.cpp:1824
H5::AtomType getBinType()
Get the type of each element in the matrix.
Definition odimh5v21_classes.cpp:1843
virtual time_t getDateTime()
Get the joined value of 'date' and 'time' attributes.
Definition odimh5v21_classes.cpp:1817
virtual void setProduct(const std::string &val)
Set the value of 'product' attribute.
Definition odimh5v21_classes.cpp:1823
virtual double getGain()
Get the value of 'gain' attribute.
Definition odimh5v21_classes.cpp:1834
virtual int getNumRays()
Get the number of rays in the matrix.
Definition odimh5v21_classes.cpp:1848
virtual void setGain(double val)
Set the value of 'gain' attribute.
Definition odimh5v21_classes.cpp:1835
virtual SourceInfo getSource()
Get the value of 'source' attribute.
Definition odimh5v21_classes.cpp:1819
virtual std::string getProduct()
Get the value of 'product' attribute.
Definition odimh5v21_classes.cpp:1822
virtual double getUndetect()
Get the value of 'undetect' attribute.
Definition odimh5v21_classes.cpp:1840
virtual void writeAndTranslate(RayMatrix< float > &matrix, float offset, float gain, H5::DataType type)
Write the given matrix of data into the quantity matrix.
Definition odimh5v21_classes.cpp:1944
virtual void setQuantity(const std::string &val)
Get the value of 'quantity' attribute.
Definition odimh5v21_classes.cpp:1829
virtual VILHeights getProdParVIL()
Get the value of 'prodpar' attribute as VILHeights pair.
Definition odimh5v21_classes.cpp:1825
virtual void setEndDateTime(time_t val)
Set the value of 'enddate' and 'endtime' attributes.
Definition odimh5v21_classes.cpp:1833
virtual std::string getQuantity()
Set the value of 'quantity' attribute.
Definition odimh5v21_classes.cpp:1828
virtual double getOffset()
Get the value of 'offset' attribute.
Definition odimh5v21_classes.cpp:1836
virtual double getNodata()
Get the value of 'nodata' attribute.
Definition odimh5v21_classes.cpp:1838
virtual std::string getObject()
Get the value of 'object' attribute.
Definition odimh5v21_classes.cpp:1813
virtual void setNodata(double val)
Set the value of 'nodata' attribute.
Definition odimh5v21_classes.cpp:1839
virtual int getNumBins()
Get the number of bins in each ray of the matrix.
Definition odimh5v21_classes.cpp:1853
virtual void setObject(const std::string &val)
Set the value of 'object' attribute.
Definition odimh5v21_classes.cpp:1814
virtual time_t getStartDateTime()
Get the value of 'startdate' and 'starttime' attributes.
Definition odimh5v21_classes.cpp:1830
virtual time_t getEndDateTime()
Get the value of 'enddate' and 'endtime' attributes.
Definition odimh5v21_classes.cpp:1832
virtual void setSource(const SourceInfo &val)
Set the value of 'source' attribute.
Definition odimh5v21_classes.cpp:1820
virtual void setDateTime(const time_t val)
Set the value of 'date' and 'time' attributes.
Definition odimh5v21_classes.cpp:1818
virtual void setStartDateTime(time_t val)
Set the value of 'startdate' and 'starttime' attributes.
Definition odimh5v21_classes.cpp:1831
virtual void setUndetect(double val)
Set the value of 'undetect' attribute.
Definition odimh5v21_classes.cpp:1841
virtual std::string getVersion()
Get the value of 'version' attribute.
Definition odimh5v21_classes.cpp:1815
OdimH5 v2.1 Polar Volume SCAN.
Definition odimh5v21_classes.hpp:1025
virtual void setPolarization(const std::string &val)
Set the 'polarization' attribute value.
Definition odimh5v21_classes.cpp:1636
virtual int getNumBins()
Get the 'numbins' attribute value.
Definition odimh5v21_classes.cpp:1454
virtual void setWaveLength(double val)
Set the 'wavelength' attribute value.
Definition odimh5v21_classes.cpp:1497
virtual void setElevationAngles(const std::vector< double > &val)
Set the 'elangles' attribute values.
Definition odimh5v21_classes.cpp:1566
virtual std::string getObject()
Get the value of 'object' attribute.
Definition odimh5v21_classes.cpp:1409
virtual time_t getEndDateTime()
Get the value of 'enddate' and 'endtime' attributes.
Definition odimh5v21_classes.cpp:1430
virtual void setNodata(double val)
Set the value of 'nodata' attribute.
Definition odimh5v21_classes.cpp:1437
virtual void setTaskOrProdGen(const std::string &val)
Set the 'task' attribute value.
Definition odimh5v21_classes.cpp:1468
virtual double getRXLoss()
Get the 'RXloss' attribute value.
Definition odimh5v21_classes.cpp:1517
virtual std::string getTaskOrProdGen()
Get the 'task' attribute value.
Definition odimh5v21_classes.cpp:1467
virtual void setGasAttn(double val)
Set the 'gasattn' attribute value.
Definition odimh5v21_classes.cpp:1534
virtual double getRPM()
Get the 'prm' attribute value.
Definition odimh5v21_classes.cpp:1498
virtual void setKR_A(double val)
Set the 'kr_a' attribute value.
Definition odimh5v21_classes.cpp:1484
virtual double getRadarHorizon()
Get the 'radhoriz' attribute value.
Definition odimh5v21_classes.cpp:1593
virtual void setDynRange(double val)
Set the 'dynrange' attribute value.
Definition odimh5v21_classes.cpp:1626
static int originaRayIndex(int index, int originalDirection, int numrays, int a1gate)
Calculate the original ray index of a scan.
Definition odimh5v21_classes.hpp:1330
virtual void setEndEpochs(time_t val)
Set the 'endepochs' attribute value.
Definition odimh5v21_classes.cpp:1472
virtual void setDateTime(const time_t val)
Set the value of 'date' and 'time' attributes.
Definition odimh5v21_classes.cpp:1414
virtual void setRadarHorizon(double val)
Set the 'radhoriz' attribute value.
Definition odimh5v21_classes.cpp:1594
virtual void setCSR(double val)
Set the 'CSR' attribute value.
Definition odimh5v21_classes.cpp:1606
virtual void setBeamWH(double val)
Set the 'beamwH' attribute value.
Definition odimh5v21_classes.cpp:1528
virtual double getRadomeLoss()
Get the 'radomeloss' attribute value.
Definition odimh5v21_classes.cpp:1520
virtual double getSQI()
Get the 'SQI' attribute value.
Definition odimh5v21_classes.cpp:1603
virtual void setStartEpochs(time_t val)
Set the 'startepochs' attribute value.
Definition odimh5v21_classes.cpp:1470
virtual double getVSamples()
Get the 'Vsamples' attribute value.
Definition odimh5v21_classes.cpp:1553
virtual SourceInfo getSource()
Get the value of 'source' attribute.
Definition odimh5v21_classes.cpp:1415
virtual void setZR_A(double val)
Set the 'zr_a' attribute value.
Definition odimh5v21_classes.cpp:1480
virtual void setBinMethod(const std::string &val)
Set the 'binmethod' attribute value.
Definition odimh5v21_classes.cpp:1563
virtual void setRadomeLoss(double val)
Set the 'radomeloss' attribute value.
Definition odimh5v21_classes.cpp:1522
virtual double getS2N()
Get the 'S2N' attribute value.
Definition odimh5v21_classes.cpp:1633
virtual time_t getStartDateTime()
Get the value of 'startdate' and 'starttime' attributes.
Definition odimh5v21_classes.cpp:1428
virtual time_t getDateTime()
Get the joined value of 'date' and 'time' attributes.
Definition odimh5v21_classes.cpp:1413
virtual void setLevels(int val)
Set the 'levels' attribute value.
Definition odimh5v21_classes.cpp:1620
virtual double getCSR()
Get the 'CSR' attribute value.
Definition odimh5v21_classes.cpp:1605
virtual double getOUR()
Get the 'OUR' attribute value.
Definition odimh5v21_classes.cpp:1597
virtual double getRXBandWidth()
Get the 'RXbandwidth' attribute value.
Definition odimh5v21_classes.cpp:1504
virtual void setUndetect(double val)
Set the value of 'undetect' attribute.
Definition odimh5v21_classes.cpp:1439
virtual void setLongitude(double val)
Set the value of 'longitude' attribute.
Definition odimh5v21_classes.cpp:1444
virtual void setS2N(double val)
Set the 'S2N' attribute value.
Definition odimh5v21_classes.cpp:1634
virtual void setSoftware(const std::string &val)
Set the 'software' attribute value.
Definition odimh5v21_classes.cpp:1476
virtual void setRPM(double val)
Set the 'rpm' attribute value.
Definition odimh5v21_classes.cpp:1500
virtual void setZR_B(double val)
Set the 'zr_b' attribute value.
Definition odimh5v21_classes.cpp:1482
virtual double getUndetect()
Get the value of 'undetect' attribute.
Definition odimh5v21_classes.cpp:1438
virtual int getQuantityDataCount()
Get number of quantities stored in the scan.
Definition odimh5v21_classes.cpp:1640
virtual double getTXLoss()
Get the 'TXloss' attribute value.
Definition odimh5v21_classes.cpp:1514
std::set< std::string > getStoredQuantities()
Get the name of all quantities present in this scan.
Definition odimh5v21_classes.cpp:1367
virtual void setSoftwareVer(const std::string &val)
Set the 'sw_version' attribute value.
Definition odimh5v21_classes.cpp:1478
virtual void setSimulated(bool val)
Set the 'simulated' attribute value.
Definition odimh5v21_classes.cpp:1488
virtual double getNodata()
Get the value of 'nodata' attribute.
Definition odimh5v21_classes.cpp:1436
virtual std::string getPolarization()
Get the 'polarization' attribute value.
Definition odimh5v21_classes.cpp:1635
virtual void setQuantity(const std::string &val)
Get the value of 'quantity' attribute.
Definition odimh5v21_classes.cpp:1427
virtual void setEndDateTime(time_t val)
Set the value of 'enddate' and 'endtime' attributes.
Definition odimh5v21_classes.cpp:1431
virtual void setObject(const std::string &val)
Set the value of 'object' attribute.
Definition odimh5v21_classes.cpp:1410
virtual void setBBC(bool val)
Set the 'BBC' attribute value.
Definition odimh5v21_classes.cpp:1630
virtual void setEAngle(double val)
Set the 'elangle' attribute value.
Definition odimh5v21_classes.cpp:1453
virtual std::vector< double > getStopAzimuthAngles()
Get the 'stopazA' attribute values.
Definition odimh5v21_classes.cpp:1574
virtual double getEAngle()
Get the 'elangle' attribute value.
Definition odimh5v21_classes.cpp:1452
virtual void setTXPower(double val)
Set the 'TXpower' attribute value.
Definition odimh5v21_classes.cpp:1546
virtual void setFreeze(double val)
Set the 'freeze' attribute value.
Definition odimh5v21_classes.cpp:1612
virtual double getNEZ()
Get the 'NEZ' attribute value.
Definition odimh5v21_classes.cpp:1595
virtual double getRangeStart()
Get the 'rstart' attribute value.
Definition odimh5v21_classes.cpp:1456
virtual time_t getStartEpochs()
Get the 'startepochs' attribute value.
Definition odimh5v21_classes.cpp:1469
virtual double getRadConstV()
Get the 'radconstV' attribute value.
Definition odimh5v21_classes.cpp:1538
virtual double getRangeScale()
Get the 'rscale' attribute value.
Definition odimh5v21_classes.cpp:1458
virtual void setAvgPwr(double val)
Set the 'awgpwr' attribute value.
Definition odimh5v21_classes.cpp:1624
virtual void setRadConstH(double val)
Set the 'radconstH' attribute value.
Definition odimh5v21_classes.cpp:1537
virtual void setRXLoss(double val)
Set the 'RXloss' attribute value.
Definition odimh5v21_classes.cpp:1519
virtual void setRadConstV(double val)
Set the 'radconstV' attribute value.
Definition odimh5v21_classes.cpp:1540
virtual double getZR_B()
Get the 'zr_b' attribute value.
Definition odimh5v21_classes.cpp:1481
virtual bool getVPRCorr()
Get the 'VPRCoor' attribute value.
Definition odimh5v21_classes.cpp:1609
virtual double getMax()
Get the 'max' attribute value.
Definition odimh5v21_classes.cpp:1615
virtual std::string getSoftware()
Get the 'software' attribute value.
Definition odimh5v21_classes.cpp:1475
virtual void setNumRays(int val)
Set the 'numrays' attribute value.
Definition odimh5v21_classes.cpp:1461
virtual double getMin()
Get the 'min' attribute value.
Definition odimh5v21_classes.cpp:1613
virtual void setLowPRF(int val)
Set the 'lowprf' attribute value.
Definition odimh5v21_classes.cpp:1509
virtual double getWaveLength()
Get the 'wavelength' attribute value.
Definition odimh5v21_classes.cpp:1495
virtual void setNEZ(double val)
Set the 'NEZ' attribute value.
Definition odimh5v21_classes.cpp:1596
virtual int getLevels()
Get the 'levels' attribute value.
Definition odimh5v21_classes.cpp:1619
virtual double getProdPar()
Get the value of 'prodpar' attribute as double value.
Definition odimh5v21_classes.cpp:1422
virtual double getGasAttn()
Get the 'gasattn' attribute value.
Definition odimh5v21_classes.cpp:1532
virtual PolarScanData * createQuantityData(const char *name)
Create a new group for a quantity in the scan.
Definition odimh5v21_classes.cpp:1660
virtual std::string getProduct()
Get the value of 'product' attribute.
Definition odimh5v21_classes.cpp:1420
virtual void setSystem(const std::string &val)
Set the 'system' attribute value.
Definition odimh5v21_classes.cpp:1474
virtual void setSource(const SourceInfo &val)
Set the value of 'source' attribute.
Definition odimh5v21_classes.cpp:1416
virtual void setAntGain(double val)
Set the 'antgain' attribute value.
Definition odimh5v21_classes.cpp:1525
virtual std::vector< double > getTXPower()
Get the 'TXpower' attribute value.
Definition odimh5v21_classes.cpp:1544
virtual void setMax(double val)
Set the 'max' attribute value.
Definition odimh5v21_classes.cpp:1616
virtual std::string getSoftwareVer()
Get the 'sw_version' attribute value.
Definition odimh5v21_classes.cpp:1477
virtual double getGain()
Get the value of 'gain' attribute.
Definition odimh5v21_classes.cpp:1432
virtual double getPAC()
Get the 'PAC' attribute value.
Definition odimh5v21_classes.cpp:1631
virtual double getKR_A()
Get the 'kr_a' attribute value.
Definition odimh5v21_classes.cpp:1483
virtual void setSQI(double val)
Set the 'SQI' attribute value.
Definition odimh5v21_classes.cpp:1604
virtual double getZR_A()
Get the 'zr_a' attribute value.
Definition odimh5v21_classes.cpp:1479
virtual void setStopAzimuthTimes(const std::vector< double > &val)
Set the 'stopazT' attribute values.
Definition odimh5v21_classes.cpp:1579
virtual void setProduct(const std::string &val)
Set the value of 'product' attribute.
Definition odimh5v21_classes.cpp:1421
virtual double getRAC()
Get the 'RAC' attribute value.
Definition odimh5v21_classes.cpp:1627
virtual bool hasQuantityData(const char *name)
Check if the scan contains the data associated to a quantity.
Definition odimh5v21_classes.cpp:1650
virtual void setRangeStart(double val)
Set the 'rstart' attribute value.
Definition odimh5v21_classes.cpp:1457
virtual std::vector< double > getElevationAngles()
Get the 'elangles' attribute values.
Definition odimh5v21_classes.cpp:1564
virtual void setStartDateTime(time_t val)
Set the value of 'startdate' and 'starttime' attributes.
Definition odimh5v21_classes.cpp:1429
virtual void setAzimuthAngles(const std::vector< AZAngles > &val, int precision=0)
Set the 'startazA' and 'stopazA' attributes values (formerly azangles attribute in odimh5v2....
Definition odimh5v21_classes.cpp:1572
virtual std::vector< double > getStartAzimuthTimes()
Get the 'startazT' attribute values.
Definition odimh5v21_classes.cpp:1576
virtual void setVSamples(double val)
Set the 'Vsamples' attribute value.
Definition odimh5v21_classes.cpp:1555
virtual int getLowPRF()
Get the 'lowprf' attribute value.
Definition odimh5v21_classes.cpp:1507
virtual std::string getQuantity()
Set the value of 'quantity' attribute.
Definition odimh5v21_classes.cpp:1426
virtual void setMalfunc(bool val)
Set the 'malfunc' attribute value.
Definition odimh5v21_classes.cpp:1590
virtual std::string getSystem()
Get the 'system' attribute value.
Definition odimh5v21_classes.cpp:1473
virtual void setKR_B(double val)
Set the 'kr_b' attribute value.
Definition odimh5v21_classes.cpp:1486
virtual int getHighPRF()
Get the 'highprf' attribute value.
Definition odimh5v21_classes.cpp:1510
virtual void setHighPRF(int val)
Set the 'highprf' attribute value.
Definition odimh5v21_classes.cpp:1512
virtual void setNomTXPower(double val)
Set the 'nomTXpower' attribute value.
Definition odimh5v21_classes.cpp:1543
virtual void setRAC(double val)
Set the 'RAC' attribute value.
Definition odimh5v21_classes.cpp:1628
virtual void setProdPar(double val)
Set the value of 'prodpar' attribute.
Definition odimh5v21_classes.cpp:1424
virtual std::string getBinMethod()
Get the 'binmethod' attribute value.
Definition odimh5v21_classes.cpp:1562
virtual double getAltitude()
Get the value of 'altitude' attribute.
Definition odimh5v21_classes.cpp:1447
virtual void setLatitude(double val)
Set the value of 'latitude' attribute.
Definition odimh5v21_classes.cpp:1446
virtual double getPointAccAZ()
Get the 'pointaccAZ' attribute values.
Definition odimh5v21_classes.cpp:1587
virtual double getBeamWV()
Get the 'beamwV' attribute value.
Definition odimh5v21_classes.cpp:1529
virtual void setTXLoss(double val)
Set the 'TXLoss' attribute value.
Definition odimh5v21_classes.cpp:1516
virtual void setStartAzimuthTimes(const std::vector< double > &val)
Set the 'startazT' attribute values.
Definition odimh5v21_classes.cpp:1577
virtual void setPointAccEl(double val)
Set the 'pointaccEL' attribute values.
Definition odimh5v21_classes.cpp:1586
virtual time_t getEndEpochs()
Get the 'endepochs' attribute value.
Definition odimh5v21_classes.cpp:1471
virtual void setPulseWidth(double val)
Set the 'pulsewidth' attribute value.
Definition odimh5v21_classes.cpp:1503
virtual double getLatitude()
Get the value of 'longitude' attribute.
Definition odimh5v21_classes.cpp:1445
virtual void setA1Gate(int val)
Set the 'a1gate' attribute value.
Definition odimh5v21_classes.cpp:1463
virtual void setPeakPwr(double val)
Set the 'peakpwr' attribute value.
Definition odimh5v21_classes.cpp:1622
virtual std::vector< AZAngles > getAzimuthAngles()
Get the 'startazA' and 'stopazA' attributes values (formerly azangles attribute in odimh5v2....
Definition odimh5v21_classes.cpp:1571
virtual void setStep(double val)
Set the 'step' attribute value.
Definition odimh5v21_classes.cpp:1618
virtual void setNumBins(int val)
Set the 'numbins' attribute value.
Definition odimh5v21_classes.cpp:1455
virtual std::vector< double > getStopAzimuthTimes()
Get the 'stopazT' attribute values.
Definition odimh5v21_classes.cpp:1578
virtual void setRadarMsg(const std::string &val)
Set the 'radarmsg' attribute value.
Definition odimh5v21_classes.cpp:1592
virtual void setPointAccAZ(double val)
Set the 'pointaccAZ' attribute values.
Definition odimh5v21_classes.cpp:1588
virtual double getPulseWidth()
Get the 'pulsewidth' attribute value.
Definition odimh5v21_classes.cpp:1501
virtual std::string getComment()
Get the 'comment' attribute value.
Definition odimh5v21_classes.cpp:1601
virtual void setBeamWidth(double val)
Set the 'beamwidth' attribute value.
Definition odimh5v21_classes.cpp:1494
virtual std::vector< double > getStartAzimuthAngles()
Get the 'startazA' attribute values.
Definition odimh5v21_classes.cpp:1567
virtual void setRXBandWidth(double val)
Set the 'RXbandwidth' attribute value.
Definition odimh5v21_classes.cpp:1506
virtual void setVersion(const std::string &val)
Set the value of 'version' attribute.
Definition odimh5v21_classes.cpp:1412
virtual std::string getAzimuthMethod()
Get the 'azmethod' attribute value.
Definition odimh5v21_classes.cpp:1560
virtual double getPeakPwr()
Get the 'peakpwr' attribute value.
Definition odimh5v21_classes.cpp:1621
virtual void setStopAzimuthAngles(const std::vector< double > &val)
Set the 'stopazA' attribute values.
Definition odimh5v21_classes.cpp:1575
virtual PolarScanData * getQuantityData(int index)
Get the data associated to a quantity.
Definition odimh5v21_classes.cpp:1712
virtual void setOUR(double val)
Set the 'OUR' attribute value.
Definition odimh5v21_classes.cpp:1598
virtual VILHeights getProdParVIL()
Get the value of 'prodpar' attribute as VILHeights pair.
Definition odimh5v21_classes.cpp:1423
virtual int getA1Gate()
Get the 'a1gate' attribute value.
Definition odimh5v21_classes.cpp:1462
virtual double getNI()
Get the 'NI' attribute value.
Definition odimh5v21_classes.cpp:1550
virtual double getLOG()
Get the 'LOG' attribute value.
Definition odimh5v21_classes.cpp:1607
virtual double getKR_B()
Get the 'kr_b' attribute value.
Definition odimh5v21_classes.cpp:1485
virtual double getPointAccEl()
Get the 'pointaccEL' attribute values.
Definition odimh5v21_classes.cpp:1585
virtual double getAntGain()
Get the 'antgain' attribute value.
Definition odimh5v21_classes.cpp:1523
virtual void setNI(double val)
Set the 'NI' attribute value.
Definition odimh5v21_classes.cpp:1552
virtual void setAzimuthMethod(const std::string &val)
Set the 'azmethod' attribute value.
Definition odimh5v21_classes.cpp:1561
virtual double getOffset()
Get the value of 'offset' attribute.
Definition odimh5v21_classes.cpp:1434
virtual double getAvgPwr()
Get the 'avgpwr' attribute value.
Definition odimh5v21_classes.cpp:1623
virtual void setRangeScale(double val)
Set the 'rscale' attribute value.
Definition odimh5v21_classes.cpp:1459
virtual int getNumRays()
Get the 'numrays' attribute value.
Definition odimh5v21_classes.cpp:1460
virtual void setLOG(double val)
Set the 'LOG' attribute value.
Definition odimh5v21_classes.cpp:1608
virtual void setVPRCorr(bool val)
Set the 'VPRCoor' attribute value.
Definition odimh5v21_classes.cpp:1610
virtual void setMin(double val)
Set the 'min' attribute value.
Definition odimh5v21_classes.cpp:1614
virtual void setPAC(double val)
Set the 'PAC' attribute value.
Definition odimh5v21_classes.cpp:1632
virtual void setAltitude(double val)
Set the value of 'altitude' attribute.
Definition odimh5v21_classes.cpp:1448
virtual bool getBBC()
Get the 'BBC' attribute value.
Definition odimh5v21_classes.cpp:1629
virtual void setGain(double val)
Set the value of 'gain' attribute.
Definition odimh5v21_classes.cpp:1433
virtual int getDirection()
Get the direction of the scan.
Definition odimh5v21_classes.cpp:1740
virtual std::string getVersion()
Get the value of 'version' attribute.
Definition odimh5v21_classes.cpp:1411
virtual std::vector< std::string > getDClutter()
Get the 'Dclutter' attribute value.
Definition odimh5v21_classes.cpp:1599
virtual bool getSimulated()
Get the 'simulated' attribute value.
Definition odimh5v21_classes.cpp:1487
virtual double getFreeze()
Get the 'freeze' attribute value.
Definition odimh5v21_classes.cpp:1611
virtual void setOffset(double val)
Set the value of 'offset' attribute.
Definition odimh5v21_classes.cpp:1435
virtual double getNomTXPower()
Get the 'nomTXpower' attribute value.
Definition odimh5v21_classes.cpp:1541
virtual double getBeamWidth()
Get the 'beamwidth' attribute value.
Definition odimh5v21_classes.cpp:1492
virtual double getBeamWH()
Get the 'beamwH' attribute value.
Definition odimh5v21_classes.cpp:1526
virtual double getDynRange()
Get the 'dynrange' attribute value.
Definition odimh5v21_classes.cpp:1625
virtual void setStartAzimuthAngles(const std::vector< double > &val)
Set the 'startazA' attribute values.
Definition odimh5v21_classes.cpp:1568
virtual void setBeamWV(double val)
Set the 'beamwV' attribute value.
Definition odimh5v21_classes.cpp:1531
virtual void setComment(const std::string &val)
Set the 'comment' attribute value.
Definition odimh5v21_classes.cpp:1602
virtual void setDClutter(const std::vector< std::string > &value)
Set the 'Dclutter' attribute value.
Definition odimh5v21_classes.cpp:1600
virtual double getStep()
Get the 'step' attribute value.
Definition odimh5v21_classes.cpp:1617
virtual std::string getRadarMsg()
Get the 'radarmsg' attribute value.
Definition odimh5v21_classes.cpp:1591
virtual bool getMalfunc()
Get the 'malfunc' attribute value.
Definition odimh5v21_classes.cpp:1589
virtual double getRadConstH()
Get the 'radconstH' attribute value.
Definition odimh5v21_classes.cpp:1535
virtual void removeQuantityData(const char *name)
Delete the data associated to a quantity.
Definition odimh5v21_classes.cpp:1733
virtual int getQuantityDataIndex(const char *name)
Return the index of the 'data' group containing the given quantity.
Definition odimh5v21_classes.cpp:1769
OdimH5 v2.1 Polar Volume.
Definition odimh5v21_classes.hpp:882
virtual void setZR_A(double val)
Set the 'zr_a' attribute value.
Definition odimh5v21_classes.cpp:1115
virtual void setZR_B(double val)
Set the 'zr_b' attribute value.
Definition odimh5v21_classes.cpp:1117
virtual void setEndEpochs(time_t val)
Set the 'endepochs' attribute value.
Definition odimh5v21_classes.cpp:1107
virtual void setStartEpochs(time_t val)
Set the 'startepochs' attribute value.
Definition odimh5v21_classes.cpp:1105
virtual void setLatitude(double val)
Set the value of 'latitude' attribute.
Definition odimh5v21_classes.cpp:1098
virtual PolarScan * createScan()
Create a new scan in this volume.
Definition odimh5v21_classes.cpp:1157
virtual std::string getSoftwareVer()
Get the 'sw_version' attribute value.
Definition odimh5v21_classes.cpp:1112
virtual double getZR_B()
Get the 'zr_b' attribute value.
Definition odimh5v21_classes.cpp:1116
virtual bool getSimulated()
Get the 'simulated' attribute value.
Definition odimh5v21_classes.cpp:1122
virtual double getZR_A()
Get the 'zr_a' attribute value.
Definition odimh5v21_classes.cpp:1114
virtual std::vector< PolarScan * > getScans()
Get the pointers to all the scans in the volume.
Definition odimh5v21_classes.cpp:1245
virtual int getScanCount()
Get the number of scans store in this volume.
Definition odimh5v21_classes.cpp:1152
virtual std::string getTaskOrProdGen()
Get the 'task' attribute value.
Definition odimh5v21_classes.cpp:1102
virtual std::string getSoftware()
Get the 'software' attribute value.
Definition odimh5v21_classes.cpp:1110
virtual void setKR_B(double val)
Set the 'kr_b' attribute value.
Definition odimh5v21_classes.cpp:1121
virtual double getAltitude()
Get the value of 'altitude' attribute.
Definition odimh5v21_classes.cpp:1099
virtual time_t getStartEpochs()
Get the 'startepochs' attribute value.
Definition odimh5v21_classes.cpp:1104
virtual void removeScan(int index)
Remove a scan from the volume.
Definition odimh5v21_classes.cpp:1194
virtual void setKR_A(double val)
Set the 'kr_a' attribute value.
Definition odimh5v21_classes.cpp:1119
virtual void setLongitude(double val)
Set the value of 'longitude' attribute.
Definition odimh5v21_classes.cpp:1096
virtual void setAltitude(double val)
Set the value of 'altitude' attribute.
Definition odimh5v21_classes.cpp:1100
virtual PolarScan * getScan(int index)
Get a pointer to a scan of the volume.
Definition odimh5v21_classes.cpp:1177
virtual time_t getEndEpochs()
Get the 'endepochs' attribute value.
Definition odimh5v21_classes.cpp:1106
virtual std::vector< double > getElevationAngles()
Get the elevation angles for all the scans in the volumes without duplicates.
Definition odimh5v21_classes.cpp:1199
virtual void setTaskOrProdGen(const std::string &val)
Set the 'task' attribute value.
Definition odimh5v21_classes.cpp:1103
virtual std::set< std::string > getStoredQuantities()
Get the set of radar quantities stored in the scans.
Definition odimh5v21_classes.cpp:1341
virtual std::vector< double > getScanAngles()
Get the elevation angle for each scan in the volume.
Definition odimh5v21_classes.cpp:1223
virtual void setSystem(const std::string &val)
Set the 'system' attribute value.
Definition odimh5v21_classes.cpp:1109
virtual std::string getSystem()
Get the 'system' attribute value.
Definition odimh5v21_classes.cpp:1108
virtual double getLatitude()
Get the value of 'longitude' attribute.
Definition odimh5v21_classes.cpp:1097
virtual std::vector< PolarScan * > getScansBetween(double minElevation, double maxElevation)
Get the pointers to all the scans with an elevation angle between the given limits.
Definition odimh5v21_classes.cpp:1255
virtual double getKR_B()
Get the 'kr_b' attribute value.
Definition odimh5v21_classes.cpp:1120
virtual void setSoftwareVer(const std::string &val)
Set the 'sw_version' attribute value.
Definition odimh5v21_classes.cpp:1113
virtual void setSimulated(bool val)
Set the 'simulated' attribute value.
Definition odimh5v21_classes.cpp:1123
virtual void setSoftware(const std::string &val)
Set the 'software' attribute value.
Definition odimh5v21_classes.cpp:1111
virtual double getKR_A()
Get the 'kr_a' attribute value.
Definition odimh5v21_classes.cpp:1118
OdimH5 v2.1 2d product quantity data.
Definition odimh5v21_classes.hpp:2728
virtual void setEndDateTime(time_t val)
Set the value of 'enddate' and 'endtime' attributes.
Definition odimh5v21_classes.cpp:3510
virtual OdimQuality * getQualityData(int index)
Get the data associated to a quality.
Definition odimh5v21_classes.cpp:3691
virtual std::string getProduct()
Get the value of 'product' attribute.
Definition odimh5v21_classes.cpp:3499
virtual void setNodata(double val)
Set the value of 'nodata' attribute.
Definition odimh5v21_classes.cpp:3516
virtual void setObject(const std::string &val)
Set the value of 'object' attribute.
Definition odimh5v21_classes.cpp:3491
virtual void setQuantity(const std::string &val)
Get the value of 'quantity' attribute.
Definition odimh5v21_classes.cpp:3506
virtual double getGain()
Get the value of 'gain' attribute.
Definition odimh5v21_classes.cpp:3511
virtual std::string getQuantity()
Set the value of 'quantity' attribute.
Definition odimh5v21_classes.cpp:3505
virtual time_t getStartDateTime()
Get the value of 'startdate' and 'starttime' attributes.
Definition odimh5v21_classes.cpp:3507
virtual void setVersion(const std::string &val)
Set the value of 'version' attribute.
Definition odimh5v21_classes.cpp:3493
virtual void readTranslatedData(DataMatrix< float > &matrix)
Read the matrix data translating the values.
Definition odimh5v21_classes.cpp:3535
virtual int getNumXElem()
Get the number of x elements of the matrix.
Definition odimh5v21_classes.cpp:3530
virtual double getOffset()
Get the value of 'offset' attribute.
Definition odimh5v21_classes.cpp:3513
virtual SourceInfo getSource()
Get the value of 'source' attribute.
Definition odimh5v21_classes.cpp:3496
virtual VILHeights getProdParVIL()
Get the value of 'prodpar' attribute as VILHeights pair.
Definition odimh5v21_classes.cpp:3502
H5::AtomType getElemType()
Get the type of each element in the matrix.
Definition odimh5v21_classes.cpp:3520
virtual double getNodata()
Get the value of 'nodata' attribute.
Definition odimh5v21_classes.cpp:3515
virtual std::string getVersion()
Get the value of 'version' attribute.
Definition odimh5v21_classes.cpp:3492
virtual void setGain(double val)
Set the value of 'gain' attribute.
Definition odimh5v21_classes.cpp:3512
virtual OdimQuality * createQualityData()
Create a new group for quality within the 'data' group.
Definition odimh5v21_classes.cpp:3712
virtual void writeAndTranslate(DataMatrix< float > &matrix, float offset, float gain, H5::DataType type)
Write the given matrix of data into the quantity matrix.
Definition odimh5v21_classes.cpp:3621
virtual void setDateTime(const time_t val)
Set the value of 'date' and 'time' attributes.
Definition odimh5v21_classes.cpp:3495
virtual int getNumYElem()
Get the number of y elements of the matrix.
Definition odimh5v21_classes.cpp:3525
virtual void removeQualityData(int index)
Delete the data associated to a quality.
Definition odimh5v21_classes.cpp:3707
virtual void setProdPar(double val)
Set the value of 'prodpar' attribute.
Definition odimh5v21_classes.cpp:3503
virtual void setUndetect(double val)
Set the value of 'undetect' attribute.
Definition odimh5v21_classes.cpp:3518
virtual int getQualityDataCount()
Get number of quality fields stored in the scan.
Definition odimh5v21_classes.cpp:3687
virtual void setOffset(double val)
Set the value of 'offset' attribute.
Definition odimh5v21_classes.cpp:3514
virtual double getProdPar()
Get the value of 'prodpar' attribute as double value.
Definition odimh5v21_classes.cpp:3501
virtual void setProduct(const std::string &val)
Set the value of 'product' attribute.
Definition odimh5v21_classes.cpp:3500
virtual void setStartDateTime(time_t val)
Set the value of 'startdate' and 'starttime' attributes.
Definition odimh5v21_classes.cpp:3508
virtual time_t getDateTime()
Get the joined value of 'date' and 'time' attributes.
Definition odimh5v21_classes.cpp:3494
virtual time_t getEndDateTime()
Get the value of 'enddate' and 'endtime' attributes.
Definition odimh5v21_classes.cpp:3509
virtual std::string getObject()
Get the value of 'object' attribute.
Definition odimh5v21_classes.cpp:3490
virtual void setSource(const SourceInfo &val)
Set the value of 'source' attribute.
Definition odimh5v21_classes.cpp:3497
virtual double getUndetect()
Get the value of 'undetect' attribute.
Definition odimh5v21_classes.cpp:3517
OdimH5 v2.1 Product_2D Dataset.
Definition odimh5v21_classes.hpp:1887
virtual void setDynRange(double val)
Set the 'dynrange' attribute value.
Definition odimh5v21_classes.cpp:2872
virtual std::string getSystem()
Get the 'system' attribute value.
Definition odimh5v21_classes.cpp:2775
virtual void setNI(double val)
Set the 'NI' attribute value.
Definition odimh5v21_classes.cpp:2945
virtual void setMalfunc(bool val)
Set the 'malfunc' attribute value.
Definition odimh5v21_classes.cpp:2836
virtual double getNodata()
Get the value of 'nodata' attribute.
Definition odimh5v21_classes.cpp:2809
virtual int getHighPRF()
Get the 'highprf' attribute value.
Definition odimh5v21_classes.cpp:2903
virtual double getKR_B()
Get the 'kr_b' attribute value.
Definition odimh5v21_classes.cpp:2787
virtual bool getVPRCorr()
Get the 'VPRCoor' attribute value.
Definition odimh5v21_classes.cpp:2855
virtual std::string getComment()
Get the 'comment' attribute value.
Definition odimh5v21_classes.cpp:2847
virtual double getProdPar()
Get the value of 'prodpar' attribute as double value.
Definition odimh5v21_classes.cpp:2795
virtual bool getMalfunc()
Get the 'malfunc' attribute value.
Definition odimh5v21_classes.cpp:2835
virtual void setRadarMsg(const std::string &val)
Set the 'radarmsg' attribute value.
Definition odimh5v21_classes.cpp:2838
virtual void setSource(const SourceInfo &val)
Set the value of 'source' attribute.
Definition odimh5v21_classes.cpp:2766
virtual double getPulseWidth()
Get the 'pulsewidth' attribute value.
Definition odimh5v21_classes.cpp:2894
virtual void setSoftwareVer(const std::string &val)
Set the 'sw_version' attribute value.
Definition odimh5v21_classes.cpp:2780
virtual double getCSR()
Get the 'CSR' attribute value.
Definition odimh5v21_classes.cpp:2851
virtual void setNodata(double val)
Set the value of 'nodata' attribute.
Definition odimh5v21_classes.cpp:2810
virtual void setRXBandWidth(double val)
Set the 'RXbandwidth' attribute value.
Definition odimh5v21_classes.cpp:2899
virtual double getPeakPwr()
Get the 'peakpwr' attribute value.
Definition odimh5v21_classes.cpp:2867
virtual void setBinMethod(const std::string &val)
Set the 'binmethod' attribute value.
Definition odimh5v21_classes.cpp:2817
virtual void setDateTime(const time_t val)
Set the value of 'date' and 'time' attributes.
Definition odimh5v21_classes.cpp:2764
virtual void setLowPRF(int val)
Set the 'lowprf' attribute value.
Definition odimh5v21_classes.cpp:2902
virtual double getVSamples()
Get the 'Vsamples' attribute value.
Definition odimh5v21_classes.cpp:2946
virtual void setComment(const std::string &val)
Set the 'comment' attribute value.
Definition odimh5v21_classes.cpp:2848
virtual double getNomTXPower()
Get the 'nomTXpower' attribute value.
Definition odimh5v21_classes.cpp:2934
virtual void setPAC(double val)
Set the 'PAC' attribute value.
Definition odimh5v21_classes.cpp:2878
virtual void setNomTXPower(double val)
Set the 'nomTXpower' attribute value.
Definition odimh5v21_classes.cpp:2936
virtual std::vector< double > getStartAzimuthAngles()
Get the 'startazA' attribute values.
Definition odimh5v21_classes.cpp:2822
virtual void setAntGain(double val)
Set the 'antgain' attribute value.
Definition odimh5v21_classes.cpp:2918
virtual std::vector< double > getTXPower()
Get the 'TXpower' attribute value.
Definition odimh5v21_classes.cpp:2937
virtual void setLevels(int val)
Set the 'levels' attribute value.
Definition odimh5v21_classes.cpp:2866
virtual void setCSR(double val)
Set the 'CSR' attribute value.
Definition odimh5v21_classes.cpp:2852
virtual std::string getTaskOrProdGen()
Get the 'task' attribute value.
Definition odimh5v21_classes.cpp:2769
virtual double getPAC()
Get the 'PAC' attribute value.
Definition odimh5v21_classes.cpp:2877
virtual void setStopAzimuthAngles(const std::vector< double > &val)
Set the 'stopazA' attribute values.
Definition odimh5v21_classes.cpp:2825
virtual double getNI()
Get the 'NI' attribute value.
Definition odimh5v21_classes.cpp:2943
virtual void setTaskOrProdGen(const std::string &val)
Set the 'task' attribute value.
Definition odimh5v21_classes.cpp:2770
virtual double getAvgPwr()
Get the 'avgpwr' attribute value.
Definition odimh5v21_classes.cpp:2869
virtual double getGasAttn()
Get the 'gasattn' attribute value.
Definition odimh5v21_classes.cpp:2925
virtual void setPulseWidth(double val)
Set the 'pulsewidth' attribute value.
Definition odimh5v21_classes.cpp:2896
virtual double getZR_A()
Get the 'zr_a' attribute value.
Definition odimh5v21_classes.cpp:2781
virtual void setStopAzimuthTimes(const std::vector< double > &val)
Set the 'stopazT' attribute values.
Definition odimh5v21_classes.cpp:2829
virtual void setDClutter(const std::vector< std::string > &value)
Set the 'Dclutter' attribute value.
Definition odimh5v21_classes.cpp:2846
virtual double getRAC()
Get the 'RAC' attribute value.
Definition odimh5v21_classes.cpp:2873
virtual double getRadomeLoss()
Get the 'radomeloss' attribute value.
Definition odimh5v21_classes.cpp:2913
virtual std::string getRadarMsg()
Get the 'radarmsg' attribute value.
Definition odimh5v21_classes.cpp:2837
virtual void setStartAzimuthAngles(const std::vector< double > &val)
Set the 'startazA' attribute values.
Definition odimh5v21_classes.cpp:2823
virtual void setStartEpochs(time_t val)
Set the 'startepochs' attribute value.
Definition odimh5v21_classes.cpp:2772
virtual double getPointAccAZ()
Get the 'pointaccAZ' attribute values.
Definition odimh5v21_classes.cpp:2833
virtual void setStep(double val)
Set the 'step' attribute value.
Definition odimh5v21_classes.cpp:2864
virtual void setProdPar(double val)
Set the value of 'prodpar' attribute.
Definition odimh5v21_classes.cpp:2797
virtual double getMax()
Get the 'max' attribute value.
Definition odimh5v21_classes.cpp:2861
virtual double getMin()
Get the 'min' attribute value.
Definition odimh5v21_classes.cpp:2859
virtual time_t getEndDateTime()
Get the value of 'enddate' and 'endtime' attributes.
Definition odimh5v21_classes.cpp:2803
virtual std::string getSoftware()
Get the 'software' attribute value.
Definition odimh5v21_classes.cpp:2777
virtual void setNEZ(double val)
Set the 'NEZ' attribute value.
Definition odimh5v21_classes.cpp:2842
virtual void setSimulated(bool val)
Set the 'simulated' attribute value.
Definition odimh5v21_classes.cpp:2790
virtual void setHighPRF(int val)
Set the 'highprf' attribute value.
Definition odimh5v21_classes.cpp:2905
virtual void setSystem(const std::string &val)
Set the 'system' attribute value.
Definition odimh5v21_classes.cpp:2776
virtual void setVSamples(double val)
Set the 'Vsamples' attribute value.
Definition odimh5v21_classes.cpp:2948
virtual std::vector< double > getElevationAngles()
Get the 'elangles' attribute values.
Definition odimh5v21_classes.cpp:2819
virtual double getOffset()
Get the value of 'offset' attribute.
Definition odimh5v21_classes.cpp:2807
virtual void setPointAccAZ(double val)
Set the 'pointaccAZ' attribute values.
Definition odimh5v21_classes.cpp:2834
virtual SourceInfo getSource()
Get the value of 'source' attribute.
Definition odimh5v21_classes.cpp:2765
virtual void setRadomeLoss(double val)
Set the 'radomeloss' attribute value.
Definition odimh5v21_classes.cpp:2915
virtual double getBeamWV()
Get the 'beamwV' attribute value.
Definition odimh5v21_classes.cpp:2922
virtual std::vector< double > getStopAzimuthTimes()
Get the 'stopazT' attribute values.
Definition odimh5v21_classes.cpp:2828
virtual double getWaveLength()
Get the 'wavelength' attribute value.
Definition odimh5v21_classes.cpp:2888
virtual void setZR_B(double val)
Set the 'zr_b' attribute value.
Definition odimh5v21_classes.cpp:2784
virtual void setRadConstV(double val)
Set the 'radconstV' attribute value.
Definition odimh5v21_classes.cpp:2933
virtual void setVPRCorr(bool val)
Set the 'VPRCoor' attribute value.
Definition odimh5v21_classes.cpp:2856
virtual void setRPM(double val)
Set the 'rpm' attribute value.
Definition odimh5v21_classes.cpp:2893
virtual void setMin(double val)
Set the 'min' attribute value.
Definition odimh5v21_classes.cpp:2860
virtual std::string getPolarization()
Get the 'polarization' attribute value.
Definition odimh5v21_classes.cpp:2881
virtual double getFreeze()
Get the 'freeze' attribute value.
Definition odimh5v21_classes.cpp:2857
virtual std::string getSoftwareVer()
Get the 'sw_version' attribute value.
Definition odimh5v21_classes.cpp:2779
virtual double getRadConstV()
Get the 'radconstV' attribute value.
Definition odimh5v21_classes.cpp:2931
virtual void setStartDateTime(time_t val)
Set the value of 'startdate' and 'starttime' attributes.
Definition odimh5v21_classes.cpp:2802
virtual std::string getBinMethod()
Get the 'binmethod' attribute value.
Definition odimh5v21_classes.cpp:2816
virtual void setVersion(const std::string &val)
Set the value of 'version' attribute.
Definition odimh5v21_classes.cpp:2762
virtual void setObject(const std::string &val)
Set the value of 'object' attribute.
Definition odimh5v21_classes.cpp:2760
virtual std::string getVersion()
Get the value of 'version' attribute.
Definition odimh5v21_classes.cpp:2761
virtual void setBeamWV(double val)
Set the 'beamwV' attribute value.
Definition odimh5v21_classes.cpp:2924
virtual std::vector< AZAngles > getAzimuthAngles()
Get the 'startazA' and 'stopazA' attributes values (formerly azangles attribute in odimh5v2....
Definition odimh5v21_classes.hpp:2082
virtual double getNEZ()
Get the 'NEZ' attribute value.
Definition odimh5v21_classes.cpp:2841
virtual std::string getAzimuthMethod()
Get the 'azmethod' attribute value.
Definition odimh5v21_classes.cpp:2814
virtual void setBBC(bool val)
Set the 'BBC' attribute value.
Definition odimh5v21_classes.cpp:2876
virtual void setEndDateTime(time_t val)
Set the value of 'enddate' and 'endtime' attributes.
Definition odimh5v21_classes.cpp:2804
virtual double getRPM()
Get the 'prm' attribute value.
Definition odimh5v21_classes.cpp:2891
virtual double getRadarHorizon()
Get the 'radhoriz' attribute value.
Definition odimh5v21_classes.cpp:2839
virtual double getGain()
Get the value of 'gain' attribute.
Definition odimh5v21_classes.cpp:2805
virtual double getZR_B()
Get the 'zr_b' attribute value.
Definition odimh5v21_classes.cpp:2783
virtual std::vector< double > getStopAzimuthAngles()
Get the 'stopazA' attribute values.
Definition odimh5v21_classes.cpp:2824
virtual void setPointAccEl(double val)
Set the 'pointaccEL' attribute values.
Definition odimh5v21_classes.cpp:2832
virtual void setStartAzimuthTimes(const std::vector< double > &val)
Set the 'startazT' attribute values.
Definition odimh5v21_classes.cpp:2827
virtual double getPointAccEl()
Get the 'pointaccEL' attribute values.
Definition odimh5v21_classes.cpp:2831
virtual void setGain(double val)
Set the value of 'gain' attribute.
Definition odimh5v21_classes.cpp:2806
virtual void setBeamWidth(double val)
Set the 'beamwidth' attribute value.
Definition odimh5v21_classes.cpp:2887
virtual double getBeamWH()
Get the 'beamwH' attribute value.
Definition odimh5v21_classes.cpp:2919
virtual double getS2N()
Get the 'S2N' attribute value.
Definition odimh5v21_classes.cpp:2879
virtual double getStep()
Get the 'step' attribute value.
Definition odimh5v21_classes.cpp:2863
virtual void setPolarization(const std::string &val)
Set the 'polarization' attribute value.
Definition odimh5v21_classes.cpp:2882
virtual std::string getObject()
Get the value of 'object' attribute.
Definition odimh5v21_classes.cpp:2759
virtual void setRXLoss(double val)
Set the 'RXloss' attribute value.
Definition odimh5v21_classes.cpp:2912
virtual double getKR_A()
Get the 'kr_a' attribute value.
Definition odimh5v21_classes.cpp:2785
virtual void setQuantity(const std::string &val)
Get the value of 'quantity' attribute.
Definition odimh5v21_classes.cpp:2800
virtual std::string getQuantity()
Set the value of 'quantity' attribute.
Definition odimh5v21_classes.cpp:2799
virtual double getLOG()
Get the 'LOG' attribute value.
Definition odimh5v21_classes.cpp:2853
virtual void setRadConstH(double val)
Set the 'radconstH' attribute value.
Definition odimh5v21_classes.cpp:2930
virtual void setSoftware(const std::string &val)
Set the 'software' attribute value.
Definition odimh5v21_classes.cpp:2778
virtual void setS2N(double val)
Set the 'S2N' attribute value.
Definition odimh5v21_classes.cpp:2880
virtual double getBeamWidth()
Get the 'beamwidth' attribute value.
Definition odimh5v21_classes.cpp:2885
virtual time_t getEndEpochs()
Get the 'endepochs' attribute value.
Definition odimh5v21_classes.cpp:2773
virtual double getOUR()
Get the 'OUR' attribute value.
Definition odimh5v21_classes.cpp:2843
virtual int getLowPRF()
Get the 'lowprf' attribute value.
Definition odimh5v21_classes.cpp:2900
virtual int getLevels()
Get the 'levels' attribute value.
Definition odimh5v21_classes.cpp:2865
virtual void setRadarHorizon(double val)
Set the 'radhoriz' attribute value.
Definition odimh5v21_classes.cpp:2840
virtual void setSQI(double val)
Set the 'SQI' attribute value.
Definition odimh5v21_classes.cpp:2850
virtual void setElevationAngles(const std::vector< double > &val)
Set the 'elangles' attribute values.
Definition odimh5v21_classes.cpp:2821
virtual void setKR_A(double val)
Set the 'kr_a' attribute value.
Definition odimh5v21_classes.cpp:2786
virtual double getUndetect()
Get the value of 'undetect' attribute.
Definition odimh5v21_classes.cpp:2811
virtual bool getSimulated()
Get the 'simulated' attribute value.
Definition odimh5v21_classes.cpp:2789
virtual void setPeakPwr(double val)
Set the 'peakpwr' attribute value.
Definition odimh5v21_classes.cpp:2868
virtual VILHeights getProdParVIL()
Get the value of 'prodpar' attribute as VILHeights pair.
Definition odimh5v21_classes.cpp:2796
virtual void setAzimuthAngles(const std::vector< AZAngles > &val, int precision=10)
Set the 'startazA' and 'stopazA' attributes values (formerly azangles attribute in odimh5v2....
Definition odimh5v21_classes.hpp:2083
virtual void setUndetect(double val)
Set the value of 'undetect' attribute.
Definition odimh5v21_classes.cpp:2812
virtual double getRXLoss()
Get the 'RXloss' attribute value.
Definition odimh5v21_classes.cpp:2910
virtual void setRAC(double val)
Set the 'RAC' attribute value.
Definition odimh5v21_classes.cpp:2874
virtual void setZR_A(double val)
Set the 'zr_a' attribute value.
Definition odimh5v21_classes.cpp:2782
virtual double getSQI()
Get the 'SQI' attribute value.
Definition odimh5v21_classes.cpp:2849
virtual std::string getProduct()
Get the value of 'product' attribute.
Definition odimh5v21_classes.cpp:2793
virtual double getRXBandWidth()
Get the 'RXbandwidth' attribute value.
Definition odimh5v21_classes.cpp:2897
virtual void setBeamWH(double val)
Set the 'beamwH' attribute value.
Definition odimh5v21_classes.cpp:2921
virtual double getDynRange()
Get the 'dynrange' attribute value.
Definition odimh5v21_classes.cpp:2871
virtual void setEndEpochs(time_t val)
Set the 'endepochs' attribute value.
Definition odimh5v21_classes.cpp:2774
virtual double getAntGain()
Get the 'antgain' attribute value.
Definition odimh5v21_classes.cpp:2916
virtual double getRadConstH()
Get the 'radconstH' attribute value.
Definition odimh5v21_classes.cpp:2928
virtual void setOffset(double val)
Set the value of 'offset' attribute.
Definition odimh5v21_classes.cpp:2808
virtual void setTXPower(double val)
Set the 'TXpower' attribute value.
Definition odimh5v21_classes.cpp:2939
virtual void setKR_B(double val)
Set the 'kr_b' attribute value.
Definition odimh5v21_classes.cpp:2788
virtual bool getBBC()
Get the 'BBC' attribute value.
Definition odimh5v21_classes.cpp:2875
virtual void setWaveLength(double val)
Set the 'wavelength' attribute value.
Definition odimh5v21_classes.cpp:2890
virtual void setProduct(const std::string &val)
Set the value of 'product' attribute.
Definition odimh5v21_classes.cpp:2794
virtual void setTXLoss(double val)
Set the 'TXLoss' attribute value.
Definition odimh5v21_classes.cpp:2909
virtual void setAzimuthMethod(const std::string &val)
Set the 'azmethod' attribute value.
Definition odimh5v21_classes.cpp:2815
virtual void setLOG(double val)
Set the 'LOG' attribute value.
Definition odimh5v21_classes.cpp:2854
virtual void setGasAttn(double val)
Set the 'gasattn' attribute value.
Definition odimh5v21_classes.cpp:2927
virtual std::vector< double > getStartAzimuthTimes()
Get the 'startazT' attribute values.
Definition odimh5v21_classes.cpp:2826
virtual time_t getStartEpochs()
Get the 'startepochs' attribute value.
Definition odimh5v21_classes.cpp:2771
virtual time_t getDateTime()
Get the joined value of 'date' and 'time' attributes.
Definition odimh5v21_classes.cpp:2763
virtual double getTXLoss()
Get the 'TXloss' attribute value.
Definition odimh5v21_classes.cpp:2907
virtual void setMax(double val)
Set the 'max' attribute value.
Definition odimh5v21_classes.cpp:2862
virtual time_t getStartDateTime()
Get the value of 'startdate' and 'starttime' attributes.
Definition odimh5v21_classes.cpp:2801
virtual void setAvgPwr(double val)
Set the 'awgpwr' attribute value.
Definition odimh5v21_classes.cpp:2870
virtual void setOUR(double val)
Set the 'OUR' attribute value.
Definition odimh5v21_classes.cpp:2844
virtual std::vector< std::string > getDClutter()
Get the 'Dclutter' attribute value.
Definition odimh5v21_classes.cpp:2845
virtual void setFreeze(double val)
Set the 'freeze' attribute value.
Definition odimh5v21_classes.cpp:2858
OdimH5 v2.1 CAPPI Product Dataset.
Definition odimh5v21_classes.hpp:2300
OdimH5 v2.1 COMP Product Dataset.
Definition odimh5v21_classes.hpp:2511
OdimH5 v2.1 ETOP Product Dataset.
Definition odimh5v21_classes.hpp:2352
OdimH5 v2.1 HSP Product Dataset.
Definition odimh5v21_classes.hpp:2676
OdimH5 v2.1 PPI Product Dataset.
Definition odimh5v21_classes.hpp:2457
OdimH5 v2.1 MAX Product Dataset.
Definition odimh5v21_classes.hpp:2378
OdimH5 v2.1 PCAPPI Product Dataset.
Definition odimh5v21_classes.hpp:2326
OdimH5 v2.1 PPI Product Dataset.
Definition odimh5v21_classes.hpp:2484
OdimH5 v2.1 PPI Product Dataset.
Definition odimh5v21_classes.hpp:2274
OdimH5 v2.1 Panel Product Dataset.
Definition odimh5v21_classes.hpp:2641
virtual double getStartLatitude()
Get the 'StartLatitide' attribute value.
Definition odimh5v21_classes.cpp:3435
virtual void setStopLatitude(double val)
set the 'StopLatitude' attribute value
Definition odimh5v21_classes.cpp:3440
virtual void setStopLongitude(double val)
set the 'StopLongitude' attribute value
Definition odimh5v21_classes.cpp:3438
virtual void setStartLongitude(double val)
set the 'StartLongitude' attribute value
Definition odimh5v21_classes.cpp:3434
virtual void setStartLatitude(double val)
set the 'StartLatitude' attribute value
Definition odimh5v21_classes.cpp:3436
virtual double getStopLatitude()
Get the 'StopLatitude' attribute value.
Definition odimh5v21_classes.cpp:3439
virtual double getStopLongitude()
Get the 'StopLongitude' attribute value.
Definition odimh5v21_classes.cpp:3437
virtual double getStartLongitude()
Get the 'StartLongitude' attribute value.
Definition odimh5v21_classes.cpp:3433
OdimH5 v2.1 RHI Product Dataset.
Definition odimh5v21_classes.hpp:2603
virtual double getAzimuthAngle()
Get the 'Azimuth Angles' attribute value.
Definition odimh5v21_classes.cpp:3411
virtual double getRange()
Get the 'Range' attribute value.
Definition odimh5v21_classes.cpp:3415
virtual double getRHILat()
Get the 'RHI Latitude' attribute value.
Definition odimh5v21_classes.cpp:3409
virtual void setAzimuthAngle(double val)
set the 'Azimuth Angles' attribute value
Definition odimh5v21_classes.cpp:3412
virtual std::vector< Angles > getAngles()
Get the 'Angles' attribute value.
Definition odimh5v21_classes.cpp:3413
virtual void setRange(double val)
set the 'Range' attribute value
Definition odimh5v21_classes.cpp:3416
virtual double getRHILon()
Get the 'RHI longitude' attribute value.
Definition odimh5v21_classes.cpp:3407
virtual void setAngles(const std::vector< Angles > &val)
set the 'Angles' attribute value
Definition odimh5v21_classes.cpp:3414
virtual void setRHILat(double val)
set the 'RHI Latitude' attribute value
Definition odimh5v21_classes.cpp:3410
virtual void setRHILon(double val)
set the 'RHI Longitude' attribute value
Definition odimh5v21_classes.cpp:3408
OdimH5 v2.1 RR Product Dataset.
Definition odimh5v21_classes.hpp:2405
OdimH5 v2.1 VIL Product Dataset.
Definition odimh5v21_classes.hpp:2431
OdimH5 v2.1 VSP Product Dataset.
Definition odimh5v21_classes.hpp:2703
OdimH5 v2.1 XSEC Product Dataset.
Definition odimh5v21_classes.hpp:2576
OdimH5 rays matrix.
Definition odimh5v21_support.hpp:651
OdimH5 object source informations.
Definition odimh5v21_support.hpp:111
Bottom and top heights (m) of the integration layer.
Definition odimh5v21_support.hpp:453
OdimH5 v2.1 Vericat Product_2D Dataset.
Definition odimh5v21_classes.hpp:2538
virtual double getYScale()
Get the 'Y scale' attribute value.
Definition odimh5v21_classes.cpp:3366
virtual int getXSize()
Get the 'X size' attribute value.
Definition odimh5v21_classes.cpp:3360
virtual double getMinHeight()
Get the 'Min Height' attribute value.
Definition odimh5v21_classes.cpp:3369
virtual int getYSize()
Get the 'Y size' attribute value.
Definition odimh5v21_classes.cpp:3362
virtual void setXScale(double val)
set the 'X scale' attribute value
Definition odimh5v21_classes.cpp:3365
virtual double getXScale()
get the 'X scale' attribute value
Definition odimh5v21_classes.cpp:3364
virtual void setMaxHeight(double val)
set the 'Max Height' attribute value
Definition odimh5v21_classes.cpp:3372
virtual void setXSize(int val)
set the 'X size' attribute value
Definition odimh5v21_classes.cpp:3361
virtual double getMaxHeight()
Get the 'Max Height' attribute value.
Definition odimh5v21_classes.cpp:3371
virtual void setYSize(int val)
set the 'Y size' attribute value
Definition odimh5v21_classes.cpp:3363
virtual void setMinHeight(double val)
set the 'Min Height' attribute value
Definition odimh5v21_classes.cpp:3370
virtual void setYScale(double val)
set the 'Y scale' attribute value
Definition odimh5v21_classes.cpp:3367
Interface fot WHAT dataset attributes methods.
Definition odimh5v21_metadata.hpp:1103
Interface fot WHAT root attributes methods.
Definition odimh5v21_metadata.hpp:1044
Interface fot WHERE dataset attributes methods for images.
Definition odimh5v21_metadata.hpp:1435
Interface for WHERE dataset attributes methods for Panel.
Definition odimh5v21_metadata.hpp:1727
Interface for WHERE dataset attributes methods for RHI.
Definition odimh5v21_metadata.hpp:1664
Interface fot WHERE root attributes methods.
Definition odimh5v21_metadata.hpp:1242
Interface fot WHERE dataset attributes methods for polar scan.
Definition odimh5v21_metadata.hpp:1279
Interface for WHERE dataset attributes methods for XSEC.
Definition odimh5v21_metadata.hpp:1590
OdimH5 v2.1 XsecObject.
Definition odimh5v21_classes.hpp:1826
virtual double getMinHeight()
Get the 'Min Height' attribute value.
Definition odimh5v21_classes.cpp:2706
virtual void setStopLongitude(double val)
set the 'StopLongitude' attribute value
Definition odimh5v21_classes.cpp:2728
virtual void setAzimuthAngle(double val)
set the 'Azimuth Angles' attribute value
Definition odimh5v21_classes.cpp:2717
virtual void setStopLatitude(double val)
set the 'StopLatitude' attribute value
Definition odimh5v21_classes.cpp:2730
virtual double getStartLongitude()
Get the 'StartLongitude' attribute value.
Definition odimh5v21_classes.cpp:2723
virtual void setStartLatitude(double val)
set the 'StartLatitude' attribute value
Definition odimh5v21_classes.cpp:2726
virtual void setStartLongitude(double val)
set the 'StartLongitude' attribute value
Definition odimh5v21_classes.cpp:2724
virtual double getMaxHeight()
Get the 'Max Height' attribute value.
Definition odimh5v21_classes.cpp:2708
virtual std::vector< Angles > getAngles()
Get the 'Angles' attribute value.
Definition odimh5v21_classes.cpp:2718
virtual double getStopLatitude()
Get the 'StopLatitude' attribute value.
Definition odimh5v21_classes.cpp:2729
virtual void setMaxHeight(double val)
set the 'Max Height' attribute value
Definition odimh5v21_classes.cpp:2709
virtual double getRange()
Get the 'Range' attribute value.
Definition odimh5v21_classes.cpp:2720
virtual double getStopLongitude()
Get the 'StopLongitude' attribute value.
Definition odimh5v21_classes.cpp:2727
virtual double getXScale()
get the 'X scale' attribute value
Definition odimh5v21_classes.cpp:2701
virtual void setXScale(double val)
set the 'X scale' attribute value
Definition odimh5v21_classes.cpp:2702
virtual void setXSize(int val)
set the 'X size' attribute value
Definition odimh5v21_classes.cpp:2698
virtual void setYScale(double val)
set the 'Y scale' attribute value
Definition odimh5v21_classes.cpp:2704
virtual void setRange(double val)
set the 'Range' attribute value
Definition odimh5v21_classes.cpp:2721
virtual void setRHILon(double val)
set the 'RHI Longitude' attribute value
Definition odimh5v21_classes.cpp:2713
virtual double getRHILon()
Get the 'RHI longitude' attribute value.
Definition odimh5v21_classes.cpp:2712
virtual double getRHILat()
Get the 'RHI Latitude' attribute value.
Definition odimh5v21_classes.cpp:2714
virtual double getStartLatitude()
Get the 'StartLatitide' attribute value.
Definition odimh5v21_classes.cpp:2725
virtual int getYSize()
Get the 'Y size' attribute value.
Definition odimh5v21_classes.cpp:2699
virtual double getYScale()
Get the 'Y scale' attribute value.
Definition odimh5v21_classes.cpp:2703
virtual double getAzimuthAngle()
Get the 'Azimuth Angles' attribute value.
Definition odimh5v21_classes.cpp:2716
virtual void setYSize(int val)
set the 'Y size' attribute value
Definition odimh5v21_classes.cpp:2700
virtual void setRHILat(double val)
set the 'RHI Latitude' attribute value
Definition odimh5v21_classes.cpp:2715
virtual void setAngles(const std::vector< Angles > &val)
set the 'Angles' attribute value
Definition odimh5v21_classes.cpp:2719
virtual int getXSize()
Get the 'X size' attribute value.
Definition odimh5v21_classes.cpp:2697
virtual void setMinHeight(double val)
set the 'Min Height' attribute value
Definition odimh5v21_classes.cpp:2707
Internal library macros.
Namespace related to ODIMH5 version 2.1.
Definition odimh5v21.hpp:46
Constants and values used by OdimH5 library.
OdimH5 exceptions.
Classes about attributes groups for OdimH5 objects.
Classes and struct used by main OdimH5 classes.