AttSlice.cc
Go to the documentation of this file.
1 
10 #include <atm/AttSlice.h>
11 #include <utl/AugerUnits.h>
12 
13 #include <iostream>
14 
15 using namespace std;
16 using namespace atm;
17 using namespace utl;
18 
19 
20 AttSlice::AttSlice(const std::string& headerDBName,
21  const std::string& sliceId,
22  const std::string& aerosolZoneId,
23  const double minH,
24  const double maxH) :
25  VZoneSlice(headerDBName, sliceId, aerosolZoneId, minH, maxH),
26  fAttAlpha(0),
27  fMinAttAlpha(0),
28  fMaxAttAlpha(0),
29  fMinAttAlphaCor(0),
30  fMaxAttAlphaCor(0),
31  fMinAttAlphaUncor(0),
32  fMaxAttAlphaUncor(0),
33  fAttLambda(0),
34  fMinAttLambda(0),
35  fMaxAttLambda(0),
36  fVAOD(0),
37  fMinVAOD(0),
38  fMaxVAOD(0),
39  fMinVAODCor(0),
40  fMaxVAODCor(0),
41  fMinVAODUncor(0),
42  fMaxVAODUncor(0)
43 {
44 }
45 
46 
47 double
49  const
50 {
51  if (!fAttAlpha)
52  GetSliceData(fAttAlpha, "attenuation", "att_alpha", "reciprocal attenuation length");
53 
54  return (*fAttAlpha)*(1./meter);
55 }
56 
57 
58 double
60  const
61 {
62  if (!fMinAttAlpha)
63  GetSliceData(fMinAttAlpha, "attenuation", "min_att_alpha", "attenuation length error");
64 
65  return (*fMinAttAlpha)*(1./meter);
66 }
67 
68 
69 double
71  const
72 {
73  if (!fMinAttAlphaCor)
74  GetSliceData(fMinAttAlphaCor, "attenuation", "min_alpha_cor", "correlated attenuation length error");
75 
76  return (*fMinAttAlphaCor)*(1./meter);
77 }
78 
79 
80 double
82  const
83 {
84  if (!fMinAttAlphaUncor)
85  GetSliceData(fMinAttAlphaUncor, "attenuation", "min_alpha_uncor", "uncorrelated attenuation length error");
86 
87  return (*fMinAttAlphaUncor)*(1./meter);
88 }
89 
90 
91 double
93  const
94 {
95  if (!fMaxAttAlpha)
96  GetSliceData(fMaxAttAlpha, "attenuation", "max_att_alpha", "attenuation length error");
97 
98  return (*fMaxAttAlpha)*(1./meter);
99 }
100 
101 
102 double
104  const
105 {
106  if (!fMaxAttAlphaCor)
107  GetSliceData(fMaxAttAlphaCor, "attenuation", "max_alpha_cor", "correlated attenuation length error");
108 
109  return (*fMaxAttAlphaCor)*(1./meter);
110 }
111 
112 
113 double
115  const
116 {
117  if (!fMaxAttAlphaUncor)
118  GetSliceData(fMaxAttAlphaUncor, "attenuation", "max_alpha_uncor", "uncorrelated attenuation length error");
119 
120  return (*fMaxAttAlphaUncor)*(1./meter);
121 }
122 
123 
124 double
126  const
127 {
128  if (!fAttLambda)
130  "attenuation", "attenuation_lambda_id",
131  "attenuation_lambda", "att_lambda",
132  "attenuation length lambda dependence");
133 
134  return *fAttLambda;
135 }
136 
137 
138 double
140  const
141 {
142  if (!fMinAttLambda)
144  "attenuation", "attenuation_lambda_id",
145  "attenuation_lambda", "min_att_lambda",
146  "min value of attenuation length lambda dependence");
147 
148  return *fMinAttLambda;
149 }
150 
151 
152 double
154  const
155 {
156  if (!fMaxAttLambda)
158  "attenuation", "attenuation_lambda_id",
159  "attenuation_lambda", "max_att_lambda",
160  "max value of attenuation length lambda dependence");
161 
162  return *fMaxAttLambda;
163 }
164 
165 
166 double
168  const
169 {
170  if (!fVAOD)
171  GetSliceData(fVAOD, "attenuation", "VAOD", "VAOD");
172 
173  return (*fVAOD);
174 }
175 
176 
177 double
179  const
180 {
181  if (!fMinVAOD)
182  GetSliceData(fMinVAOD, "attenuation", "min_VAOD", "minimum value of VAOD");
183 
184  return (*fMinVAOD);
185 }
186 
187 
188 double
190  const
191 {
192  if (!fMinVAODCor)
193  GetSliceData(fMinVAODCor, "attenuation", "min_VAOD_cor", "minimum value of correlated VAOD uncertainty");
194 
195  return (*fMinVAODCor);
196 }
197 
198 
199 double
201  const
202 {
203  if (!fMinVAODUncor)
204  GetSliceData(fMinVAODUncor, "attenuation", "min_VAOD_uncor", "minimum value of uncorrelated VAOD uncertainty");
205 
206  return (*fMinVAODUncor);
207 }
208 
209 
210 double
212  const
213 {
214  if (!fMaxVAOD)
215  GetSliceData(fMaxVAOD, "attenuation", "max_VAOD", "maximum value of VAOD");
216 
217  return (*fMaxVAOD);
218 }
219 
220 
221 double
223  const
224 {
225  if (!fMaxVAODCor)
226  GetSliceData(fMaxVAODCor, "attenuation", "max_VAOD_cor", "maximum value of correlated VAOD uncertainty");
227 
228  return (*fMaxVAODCor);
229 }
230 
231 double
233  const
234 {
235  if (!fMaxVAODUncor)
236  GetSliceData(fMaxVAODUncor, "attenuation", "max_VAOD_uncor", "maximum value of uncorrelated VAOD uncertainty");
237 
238  return (*fMaxVAODUncor);
239 }
240 
241 
243 {
244  delete fAttAlpha;
245  delete fMinAttAlpha;
246  delete fMaxAttAlpha;
247  delete fMinAttAlphaCor;
248  delete fMaxAttAlphaCor;
249  delete fMinAttAlphaUncor;
250  delete fMaxAttAlphaUncor;
251  delete fAttLambda;
252  delete fMinAttLambda;
253  delete fMaxAttLambda;
254  delete fVAOD;
255  delete fMinVAOD;
256  delete fMaxVAOD;
257  delete fMinVAODCor;
258  delete fMaxVAODCor;
259  delete fMinVAODUncor;
260  delete fMaxVAODUncor;
261 }
262 
263 
264 // Configure (x)emacs for this file ...
265 // Local Variables:
266 // mode: c++
267 // compile-command: "make -C .. -k"
268 // End:
double GetMinVAODUncor() const
Definition: AttSlice.cc:200
void GetSliceData(T *&requestedData, const std::string &property, const std::string &component, const std::string &errorMsg) const
Definition: VZoneSlice.h:65
double * fMinAttAlphaCor
Definition: AttSlice.h:79
double GetMaxVAODUncor() const
Definition: AttSlice.cc:232
void GetLambdaSliceData(T *&requestedData, const std::string &zoneTable, const std::string &foreignKey, const std::string &lambdaTable, const std::string &column, const std::string &errorMsg) const
Definition: VZoneSlice.h:107
double GetMinAttAlphaUncor() const
Definition: AttSlice.cc:81
double * fMaxAttLambda
Definition: AttSlice.h:85
double * fMinVAODUncor
Definition: AttSlice.h:91
double GetMinAttAlpha() const
minimum value for alpha
Definition: AttSlice.cc:59
const double meter
Definition: GalacticUnits.h:29
double GetMaxAttAlpha() const
maximum value for alpha
Definition: AttSlice.cc:92
double GetMinAttAlphaCor() const
Definition: AttSlice.cc:70
double * fMaxVAOD
Definition: AttSlice.h:88
double * fMinVAOD
Definition: AttSlice.h:87
double * fMinVAODCor
Definition: AttSlice.h:89
double GetAttLambda() const
wavelength dependence of attenuation length for this slice
Definition: AttSlice.cc:125
double * fMaxVAODUncor
Definition: AttSlice.h:92
double GetVAOD() const
vertical aerosol optical depth
Definition: AttSlice.cc:167
double GetAttAlpha() const
reciprocal attenuation length (alpha) for this slice
Definition: AttSlice.cc:48
double * fMaxVAODCor
Definition: AttSlice.h:90
double GetMinAttLambda() const
min value for wavelength dependence of attenuation length for this slice
Definition: AttSlice.cc:139
double GetMaxVAOD() const
max value for vertical aerosol optical depth
Definition: AttSlice.cc:211
double * fMinAttLambda
Definition: AttSlice.h:84
double * fMaxAttAlpha
Definition: AttSlice.h:78
double * fMaxAttAlphaCor
Definition: AttSlice.h:80
double GetMinVAODCor() const
Definition: AttSlice.cc:189
Base class for AttSlice and PFSlice.
Definition: VZoneSlice.h:28
double * fAttLambda
Definition: AttSlice.h:83
double * fVAOD
Definition: AttSlice.h:86
double GetMinVAOD() const
min value for vertial aerosol optical depth
Definition: AttSlice.cc:178
double GetMaxAttAlphaUncor() const
Definition: AttSlice.cc:114
double * fMaxAttAlphaUncor
Definition: AttSlice.h:82
double GetMaxAttLambda() const
max value for wavelength dependence of attenuation length for this slice
Definition: AttSlice.cc:153
double * fMinAttAlphaUncor
Definition: AttSlice.h:81
virtual ~AttSlice()
Definition: AttSlice.cc:242
double GetMaxAttAlphaCor() const
Definition: AttSlice.cc:103
double GetMaxVAODCor() const
Definition: AttSlice.cc:222
double * fAttAlpha
Definition: AttSlice.h:76
double * fMinAttAlpha
Definition: AttSlice.h:77

, generated on Tue Sep 26 2023.