CARMA C++
RxControlImpl.h
Go to the documentation of this file.
1 
11 #ifndef CARMA_ANTENNA_BIMA_RXCONTROLIMPL_H
12 #define CARMA_ANTENNA_BIMA_RXCONTROLIMPL_H
13 
15 #include "carma/antenna/common/RxControl.h"
16 #include "carma/antenna/common/LOControl.h"
17 #include "carma/antenna/common/FrontEndControl.h"
18 #include "carma/antenna/common/OpticsControl.h"
19 #include "carma/antenna/common/PolarizationControl.h"
20 #include "carma/corba/corba.h"
21 
22 namespace log4cpp {
23  class Category;
24 }
25 
26 namespace carma
27 {
28  namespace antenna
29  {
30  namespace bima
31  {
32 
36  class RxControlImpl :
37  public RxClient
38  {
39  public:
40 
45  Configuration &config,
46  carma::antenna::common::LOControl_ptr loPtr,
47  carma::antenna::common::FrontEndControl_ptr fePtr,
48  carma::antenna::common::OpticsControl_ptr opPtr,
49  carma::antenna::common::PolarizationControl_ptr poPtr
50  );
51 
56 
57  carma::antenna::common::LOControl_ptr LO();
58 
59  // Must get IF obj
60  // from named reference because it is handled by
61  // a separate process
62  ::carma::antenna::common::IFControl_ptr IF( ::carma::antenna::common::RxControl::IF_Type pol );
63 // carma::antenna::common::IFControl_ptr IFPol1();
64 // carma::antenna::common::IFControl_ptr IFPol2();
65 
66  carma::antenna::common::FrontEndControl_ptr FrontEnd(
67  carma::antenna::common::RxControl::Pol_Type pol );
68 
69  carma::antenna::common::OpticsControl_ptr Optics();
70 
71  carma::antenna::common::PolarizationControl_ptr Polarization();
72 
73  void setFrequency( ::CORBA::Double yigFreq,
74  ::CORBA::Double LOfreq,
75  ::CORBA::Boolean endWithAbsorberInBeam,
76  ::CORBA::Boolean forceRelock,
77  ::CORBA::Boolean optimizeReceiver );
78 
79  void setFrequency( ::CORBA::Double yigFreq,
80  ::CORBA::Double LOfreq,
81  ::CORBA::Boolean endWithAbsorberInBeam,
82  ::CORBA::Boolean optimizeReceiver,
83  ::CORBA::Boolean forceRelock,
84  ::CORBA::ULong seqNo );
85 
86  void setObservingFrequency( ::CORBA::Double freq );
87 
88  void setObservingFrequency( ::CORBA::Double freq,
89  ::CORBA::ULong seqNo );
90 
91  void measureTotalPower(
93 
94  void measureTotalPower(
96  ::CORBA::ULong seqNo );
97 
98  void toggleFastSampling(CORBA::ULong channel, bool start);
99 
100  void setIFPresetPower( );
101 
102  void setIFAtten( CORBA::Float atten,
103  carma::antenna::common::RxControl::IF_Type ifType );
104 
105  void setIFPower( CORBA::Float power );
106 
107  private:
108 
109  // What type of receiver are we?
110  bool active_;
111 
112  log4cpp::Category &log_;
113  Configuration &_config;
114 
115  carma::antenna::common::LOControl_ptr _loPtr;
116  carma::antenna::common::FrontEndControl_ptr _fePtr;
117  carma::antenna::common::OpticsControl_ptr _opPtr;
118  carma::antenna::common::PolarizationControl_ptr _poPtr;
119 
120  ::std::string _ifPol1Name; // Hierarchical DO name in nameserver.
121  ::std::string _ifPol2Name; // Hierarchical DO name in nameserver.
122  carma::antenna::common::IFControl_var _ifPol1Control;
123  carma::antenna::common::IFControl_var _ifPol2Control;
124  carma::corba::Client & _client;
125 
126  };
127 }}} // End namespace carma::antenna::bima
128 #endif
RxControlImpl(Configuration &config, carma::antenna::common::LOControl_ptr loPtr, carma::antenna::common::FrontEndControl_ptr fePtr, carma::antenna::common::OpticsControl_ptr opPtr, carma::antenna::common::PolarizationControl_ptr poPtr)
Constructor.
Position
A calibrator position enumerator.
Class to encapsulate CORBA client functionality in CARMA.
Definition: Client.h:26
RxControlImpl CORBA control class.
Definition: RxControlImpl.h:36
Class definition for RxClient on the BIMA antennas.