Elaboradar 0.1
Caricamento in corso...
Ricerca in corso...
Nessun risultato
vpr.h
1#ifndef RADARELAB_ALGO_VPR_H
2#define RADARELAB_ALGO_VPR_H
3
4#include <radarelab/volume.h>
6#include <vector>
7#include <array>
8
9namespace radarelab {
10namespace algo {
11
12constexpr unsigned VPR_NMAXLAYER = 70;
13constexpr float VPR_MISSING = -9999.;
14
15struct VPR
16{
17 std::array<float, VPR_NMAXLAYER> val;
18 std::array<long int, VPR_NMAXLAYER> area;
19
20 VPR(const VPR&) = default;
21 VPR(VPR&&) = default;
22 VPR& operator=(const VPR&) = default;
23 VPR& operator=(VPR&&) = default;
24 VPR()
25 {
26 for (unsigned i = 0; i < size(); ++i)
27 {
28 val[i] = VPR_MISSING;
29 area[i] = 0;
30 }
31 }
32
33 size_t size() const { return VPR_NMAXLAYER; }
34};
35
36
37struct Livmin
38{
40 unsigned idx = 0;
41
43 int livmin = 0;
44
46 bool found = false;
47
48 Livmin(const VPR& vpr);
49};
50
51
52struct InstantaneousVPR
53{
54 const Volume<double>& volume;
55 const Volume<unsigned char>& qual;
57 Volume<unsigned char>& flag_vpr;
58 int az_min;
59 int az_max;
60 DBZ dbz;
61 long int cv = 0;
62 long int ct = 0;
63 VPR vpr;
64 bool success = false;
65
66#if 0
79 int func_vpr(long int *cv, long int *ct, std::vector<float>& vpr1, std::vector<long int>& area_vpr);
80#endif
81
82 InstantaneousVPR(const Volume<double>& volume, const Volume<unsigned char>& qual, Volume<unsigned char>& flag_vpr, int az_min, int az_max);
83 void compute();
84};
85
86
91VPR combine_profiles(const VPR& vpr0, const VPR& vpr1, long int cv, long int ct);
92
93}
94}
95
96#endif
String functions.
Definition: cart.cpp:4
Definisce le principali strutture che contengono i dati.