1 #ifndef CARMA_CONTROL_PIPELINE_HANDLE_H
2 #define CARMA_CONTROL_PIPELINE_HANDLE_H
14 #include "carma/corba/corba.h"
16 #include "carma/control/SubarrayControl.h"
17 #include "carma/monitor/ControlSubsystem.h"
18 #include "carma/pipeline/pipelineControl.h"
19 #include "carma/util/SeqTypedefs.h"
21 typedef carma::monitor::ControlBandPoints CBP;
27 typedef RemoteObjHandleT< pipeline::PipelineControl >
28 PipelineControlRemoteObjHandle;
48 const std::string& DOname,
53 const int firstAstroBandNo,
54 const std::string& msgPrefix);
58 void setDecimationMode(
const DecimationMode decimationMode,
59 const unsigned short astroBandNo);
61 void integrate(
double intTime, CORBA::Long numInts,
62 double gap, CORBA::Boolean science,
86 virtual void decimate(
const bool dec,
const unsigned short astroBandNo);
89 const int firstAstroBandNo_;
91 const std::string msgPrefix_;
92 std::vector<CBP*> CBPvector_;
95 void keepEndChannels(
const bool value,
const unsigned short astroBandNo);
99 int consecutiveErrors_;
119 monitor::ControlSubsystemBase::Reachable& reachableContainer);
124 class WBPipelineHandle :
public PipelineHandle {
137 monitor::ControlSubsystemBase::Reachable& reachableContainer);
140 void decimate(
const bool dec,
const unsigned short astroBandNo);
143 class C3gMax8PipelineHandle :
public PipelineHandle {
153 C3gMax8PipelineHandle(
154 monitor::ControlSubsystem& controlSubsystem,
155 monitor::MonitorSystem& monitorSystem,
156 monitor::ControlSubsystemBase::Reachable& reachableContainer);
158 monitor::MonitorPointInt& getSeqNoMP();
161 class C3gMax23PipelineHandle :
public PipelineHandle {
171 C3gMax23PipelineHandle(
172 monitor::ControlSubsystem& controlSubsystem,
173 monitor::MonitorSystem& monitorSystem,
174 monitor::ControlSubsystemBase::Reachable& reachableContainer);
176 monitor::MonitorPointInt& getSeqNoMP();
bool isIntegrationComplete(const monitor::MonitorSystem &monsys, int monErrLimit)
Compare next sequence number with one returned by monitor system.
sequence< short > SeqShort
Sequence of CORBA::Short.
Long integer value monitor point (4 bytes).
The monitor system for the Control subsystem.
Boolean value monitor point.
Manages connection to remote DO.
Manages pipeline control DO connections.
PipelineHandle(const std::string &DOname, monitor::ControlSubsystem &controlSubsystem, monitor::MonitorSystem &monitorSystem, monitor::MonitorPointBool &reachableMP, monitor::MonitorSubsystem &pipelineMonitorSystem, const int firstAstroBandNo, const std::string &msgPrefix)
Constructor.
Typed class for managing connections to DOs.
Monitor system base class.
Abstract MonitorSubsystem base class.
void resetTsys(carma::util::SeqShort carmaAntNoSeq)
Reset tsys for given carma antenna number sequence.