3 #ifndef CARMA_CORRELATOR_CORRDATAREMAPPERCONTROLIMPL_H
4 #define CARMA_CORRELATOR_CORRDATAREMAPPERCONTROLIMPL_H
17 #include <boost/shared_ptr.hpp>
23 #include "carma/correlator/transport/CorrDataRemapperControl.h"
26 #include "carma/monitor/SlRemapperSubsystem.h"
27 #include "carma/monitor/WbRemapperSubsystem.h"
28 #include "carma/monitor/C3gRemapperSubsystem.h"
35 typedef boost::shared_ptr<carma::monitor::SlRemapperSubsystem> slmon_ptr;
36 typedef boost::shared_ptr<carma::monitor::WbRemapperSubsystem> wbmon_ptr;
37 typedef boost::shared_ptr<carma::monitor::C3gRemapperSubsystem> c3gmon_ptr;
40 namespace correlator {
46 class CorrDataRemapper;
48 class CorrDataRemapperControlImpl {
69 unsigned astroBandNo_;
92 Producer(std::string notificationChannelName, carma::util::Orb & orb );
104 CorrDataRemapperControlImpl(
bool produce, std::string imrSrc, std::string imrDest,
bool noPCS);
109 virtual ~CorrDataRemapperControlImpl();
115 void clearAstroBandInputMap(CORBA::UShort& astroBandNo);
117 void updateAstroBandInputMap(CORBA::UShort& astroBandNo,
118 const CorrDataRemapperControl::AstroBandInputSeq& astroBandInputs);
126 void createProducers();
130 void createCorrBandListeners();
131 void createAstroBandListeners();
135 void spawnListeners();
136 void spawnProducers();
138 void addListener(std::string objectName,
const unsigned bandNo);
147 Debugger& getDebugger();
149 void setAstroBandInputMapsToDefaults();
163 void setOnlineMP(
const std::string & ncName,
const bool online );
172 void setNumValidBaselinesMP(
const std::string & ncName,
const unsigned num );
193 void setAstrobandNoMP(
const std::string & ncName,
const unsigned abNo );
202 void setNumConjugatedMP(
const std::string & ncName,
const unsigned num);
210 void setPublishedObjectMP(
const std::string & ncName,
const std::string & objName );
220 void setDefaultPublishedObjectMP(
const std::string & ncName,
const unsigned astroBandNo);
228 void setReceivedTimeMP(
const std::string & ncName,
const double mjd);
236 void setPublishedTimeMP(
const std::string & ncName,
const double mjd);
246 std::string imrDest_;
265 std::vector<CorrDataRemapper*> listeners_;
271 std::vector<Producer*> producers_;
273 std::map<unsigned, std::string> producerNames_;
275 carma::util::Orb orb_;
279 std::map<std::string, slmon_ptr > slMonsys_;
280 std::map<std::string, wbmon_ptr > wbMonsys_;
281 std::map<std::string, c3gmon_ptr > c3gMonsys_;
291 #endif // End #ifndef CARMA_CORRELATOR_CORRDATAREMAPPERCONTROLIMPL_H
Implements interface for serving correlator data using CORBA.
Tagged: Tue Feb 22 18:45:20 PST 2011.
Interface file for the CorbaCorrProducer class.
Class used to represents bands of Correlator Data.
Tagged: Mon Feb 14 17:11:13 PST 2011.
Tagged: Sat Mar 27 16:28:13 PST 2004.
Request that system choose the sideband.
Base class for Correlator Sideband data.