CARMA C++
AntennaInitializer.h
Go to the documentation of this file.
1 // $Id: AntennaInitializer.h,v 1.3 2013/08/20 21:56:45 eml Exp $
2 
3 #ifndef SZA_ANTENNA_CORBA_ANTENNAINITIALIZER_H
4 #define SZA_ANTENNA_CORBA_ANTENNAINITIALIZER_H
5 
15 #include "carma/szautil/Angle.h"
16 #include "carma/szautil/AntNum.h"
18 #include "carma/szautil/Frequency.h"
19 #include "carma/szautil/Length.h"
20 #include "carma/szautil/Voltage.h"
21 
22 #include "carma/services/Table.h"
23 
24 #include <map>
25 #include <vector>
26 
27 namespace sza {
28  namespace antenna {
29  namespace corba {
30 
31  class AntennaProxy;
32 
33  class AntennaInitializer {
34  public:
35 
39  AntennaInitializer(AntennaProxy* parent);
40 
44  virtual ~AntennaInitializer();
45 
46  void initializeAntenna();
47 
48  void reloadBiasTables();
49 
50  private:
51 
52  void initialize();
53 
54  void initializeArrays();
55  void initializeBiases();
56  void initializeBiasTables();
57  void initializeBiasConversionFactors();
58  void initializeBiasIndices();
59  void initializeBiasesFromConfigurationFile();
60  void setDefaultBias(carma::services::Table& tab, std::string bias);
61 
62  carma::services::Table cmBiasTable_;
63  carma::services::Table mmBiasTable_;
64 
65  void wait();
66 
67  AntennaProxy* antenna_;
68 
69  unsigned iAnt_;
70 
71  std::map<std::string, short> biasConvFactors_;
72  std::map<std::string, unsigned> biasIndices_;
73 
74  sza::util::Angle latitude_;
75  sza::util::Angle longitude_;
76  sza::util::Length altitude_;
77 
78  unsigned encoderAzCountsPerTurn_;
79  unsigned encoderElCountsPerTurn_;
80 
81  std::vector<unsigned> encoderAzMinLimit_;
82  std::vector<unsigned> encoderAzMaxLimit_;
83  std::vector<unsigned> encoderElMinLimit_;
84  std::vector<unsigned> encoderElMaxLimit_;
85 
86  std::vector<sza::util::Angle> encoderAzZero_;
87  std::vector<sza::util::Angle> encoderElZero_;
88 
89  std::vector<sza::util::Angle> haTilt_;
90  std::vector<sza::util::Angle> latTilt_;
91  std::vector<sza::util::Angle> elTilt_;
92 
93  std::vector<sza::util::Angle> opticalCollimationX_;
94  std::vector<sza::util::Angle> opticalCollimationY_;
95 
96  std::vector<sza::util::Angle> opticalFlexureSin_;
97  std::vector<sza::util::Angle> opticalFlexureCos_;
98 
99  std::vector<sza::util::Angle> radioCollimationX_;
100  std::vector<sza::util::Angle> radioCollimationY_;
101 
102  std::vector<sza::util::Angle> radioFlexureSin_;
103  std::vector<sza::util::Angle> radioFlexureCos_;
104 
105  std::vector<short> yigLoopGainResistance_;
106 
107  std::vector<short> varactorLoopGainResistance_;
108  std::vector<bool> hasVaractorLoopGainResistance_;
109 
110  std::vector<short> dampingGainResistance_;
111  std::vector<bool> hasDampingGainResistance_;
112 
113  std::vector<sza::util::Attenuation> defaultLOTermAtten_;
114  std::vector<sza::util::Voltage> defaultGunnVoltage_;
115 
116  std::vector<int> caltert30GHzEncoderPos_;
117  std::vector<int> caltert90GHzEncoderPos_;
118 
119  std::map<unsigned, unsigned> biasOrder_;
120  std::vector<std::vector<short> > defaultBiases_;
121 
122  std::vector<sza::util::Attenuation> default30GHzIFAttenSky_;
123  std::vector<sza::util::Attenuation> default30GHzIFAttenLoad_;
124 
125  std::vector<sza::util::Attenuation> default90GHzIFAttenSky_;
126  std::vector<sza::util::Attenuation> default90GHzIFAttenLoad_;
127 
128  sza::util::Frequency defaultYigFrequency_;
129 
130  std::vector<sza::util::Length> up_;
131  std::vector<sza::util::Length> east_;
132  std::vector<sza::util::Length> north_;
133 
134  }; // End class AntennaInitializer
135 
136  } // End namespace corba
137  } // End namespace antenna
138 } // End namespace sza
139 
140 
141 
142 #endif // End #ifndef SZA_ANTENNA_CORBA_ANTENNAINITIALIZER_H
Tagged: Tue Mar 30 08:59:30 PST 2004.
Common table functions.
Tagged: Fri Nov 14 12:39:31 UTC 2003.
Simple ASCII Table format, fully memory based.
Definition: Table.h:126
Tagged: Sun Mar 27 12:36:42 PST 2005.