casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ATMWVRMeasurement.h
Go to the documentation of this file.
1 #ifndef _ATM_WVRMEASUREMENT_H
2 #define _ATM_WVRMEASUREMENT_H
3 /*******************************************************************************
4  * ALMA - Atacama Large Millimiter Array
5  * (c) Instituto de Estructura de la Materia, 2009
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20  *
21  * "@(#) $Id: ATMWVRMeasurement.h Exp $"
22  *
23  * who when what
24  * -------- -------- ----------------------------------------------
25  * pardo 24/03/09 created
26  */
27 
28 #ifndef __cplusplus
29 #error "This is a C++ include file and cannot be used from plain C"
30 #endif
31 
32 #include "ATMAngle.h"
33 #include "ATMCommon.h"
34 #include "ATMLength.h"
35 #include "ATMTemperature.h"
36 #include <vector>
37 #include <math.h>
38 
39 using std::vector;
40 
42 
47 {
48 public:
53  WVRMeasurement(const Angle &elevation,
54  const vector<Temperature> &measuredSkyBrightness);
58  WVRMeasurement(const Angle &elevation,
59  const vector<Temperature> &measuredSkyBrightness,
60  const vector<Temperature> &fittedSkyBrightness,
61  const Length &retrievedWaterVaporColumn,
62  const Temperature &sigma_fittedSkyBrightness);
63 
65  virtual ~WVRMeasurement();
66 
68  Angle getElevation() const { return elevation_; }
70  double getAirMass() const { return 1.0 / sin(elevation_.get()); }
72  vector<Temperature> getmeasuredSkyBrightness() const { return v_measuredSkyBrightness_; }
74  vector<Temperature> getfittedSkyBrightness() const { return v_fittedSkyBrightness_; }
76  void setfittedSkyBrightness(const vector<Temperature> &a) { v_fittedSkyBrightness_ = a; }
85 
86 protected:
88  vector<Temperature> v_measuredSkyBrightness_;
89  vector<Temperature> v_fittedSkyBrightness_; // !< Fitted sky brightness temperatures over all WVR channels for each event
90  Length retrievedWaterVaporColumn_; // !< Retrieved zenith water vapor column for each event
91  Temperature sigma_fittedSkyBrightness_; // !< Sigma on the fitted sky brightness temperatures (average sigma over the WVR channels for each event).
92 }; // class WVRMeasurement
93 
95 
96 #endif
#define ATM_NAMESPACE_END
Definition: ATMCommon.h:38
This is an auxiliary class that allows to create objects corresponding to measurements (and their ana...
vector< Temperature > getmeasuredSkyBrightness() const
Accessor to measured sky brightness temperature.
Temperature getSigmaFit() const
Accessor to sigma of the fit (in K)
Length retrievedWaterVaporColumn_
double getAirMass() const
Accessor to air mass.
vector< Temperature > getfittedSkyBrightness() const
Accessor to fitted sky brightness temperatures.
Length getretrievedWaterVaporColumn() const
Accessor to retrieved water vapor column.
void setretrievedWaterVaporColumn(const Length &a)
Setter of retrieved water vapor column.
WVRMeasurement()
Class constructor with no radiometric channels.
void setSigmaFit(const Temperature &a)
Setter of sigma of the fit (in K)
#define ATM_NAMESPACE_BEGIN
Definition: ATMCommon.h:37
Angle getElevation() const
Accessor to elevation.
double get() const
Accessor to get the angle value in SI units (rad)
Definition: ATMAngle.h:58
void setfittedSkyBrightness(const vector< Temperature > &a)
Setter of fitted sky brightness temperatures.
vector< Temperature > v_measuredSkyBrightness_
Defines a Class for those parameters being angles.
Definition: ATMAngle.h:44
Temperature value with units.
Class for those physical parameters having dimensions of Length [L].
Definition: ATMLength.h:44
vector< Temperature > v_fittedSkyBrightness_
LatticeExprNode sin(const LatticeExprNode &expr)
Numerical 1-argument functions.
virtual ~WVRMeasurement()
Destructor.
Temperature sigma_fittedSkyBrightness_