CARMA C++
carma::control::PipelineHandle Class Referenceabstract

Manages pipeline control DO connections. More...

#include <carma/control/PipelineHandle.h>

Inheritance diagram for carma::control::PipelineHandle:
carma::control::RemoteObjHandleT< T > carma::control::RemoteObjHandleBase

Public Member Functions

void integrate (double intTime, CORBA::Long numInts, double gap, CORBA::Boolean science, int preferredSeqNo)
 
bool isIntegrationComplete (const monitor::MonitorSystem &monsys, int monErrLimit)
 Compare next sequence number with one returned by monitor system. More...
 
 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. More...
 
void resetTsys (carma::util::SeqShort carmaAntNoSeq)
 Reset tsys for given carma antenna number sequence. More...
 
void setDecimationMode (const DecimationMode decimationMode, const unsigned short astroBandNo)
 
- Public Member Functions inherited from carma::control::RemoteObjHandleT< T >
template<typename S >
S::_var_type narrowedRemoteObj () const
 Returns remote object handle as var. More...
 
T::_var_type remoteObj () const
 Returns remote object handle as var. More...
 
 RemoteObjHandleT (const ::std::string &doName, monitor::MonitorPointBool *mpReachable, const monitor::MonitorSubsystem *subsystem, monitor::MonitorSystem *system, bool defaultLogIfNotReachable, bool defaultLogSentCommands)
 Constructor. More...
 
virtual ~RemoteObjHandleT ()
 Destructor. More...
 
- Public Member Functions inherited from carma::control::RemoteObjHandleBase
bool attemptToReconnectIfNeeded ()
 Try reconnect to the DO if needed. More...
 
::std::string doName () const
 get the DO name More...
 
void forceFullReconnect ()
 Force a full re-lookup of the DO by name. More...
 
bool isObjReachable ()
 If state is 'not reachable' and monitor system is current, tries to reconnect. More...
 
bool isObjReachable (bool logIfNotReachable)
 
 RemoteObjHandleBase (const ::std::string &doName, monitor::MonitorPointBool *mpReachable, const monitor::MonitorSubsystem *subsystem, monitor::MonitorSystem *system, bool defaultLogIfNotReachable, bool defaultLogSentCommands)
 Constructor. More...
 
virtual ~RemoteObjHandleBase ()
 Destructor. More...
 

Protected Member Functions

virtual void decimate (const bool dec, const unsigned short astroBandNo)
 
virtual monitor::MonitorPointIntgetSeqNoMP ()=0
 
- Protected Member Functions inherited from carma::control::RemoteObjHandleT< T >
virtual bool resolveObjRef ()
 
- Protected Member Functions inherited from carma::control::RemoteObjHandleBase
bool getDefaultLogIfNotReachable () const
 
bool getDefaultLogSentCommands () const
 
void invalidateObjRef ()
 
void invalidateObjRefIfNeededForCaught ()
 
void logException (const ::std::string &callString, const ::std::string &exString) const
 
void logSentCommand (const ::std::string &callString, const double mjd) const
 
void logSentCommand (const ::std::string &callString, const double mjd, const ::std::string &subDoName) const
 
void logSentCommandIfNeeded (const ::std::string &callString, const double mjd) const
 
void logSentCommandIfNeeded (const ::std::string &callString, const double mjd, const ::std::string &subDoName) const
 
void markObjRefValid ()
 
void processException (const ::std::string &callString, const ::CORBA::Exception &corbaException)
 
void throwBadRemoteObjAccess () const
 
void throwIfObjRefIsNotValid () const
 

Protected Attributes

std::vector< CBP * > CBPvector_
 
monitor::ControlSubsystemcontrolSubsystem_
 
const int firstAstroBandNo_
 
monitor::MonitorSystemmonitorSystem_
 
const std::string msgPrefix_
 

Detailed Description

Manages pipeline control DO connections.

Definition at line 32 of file PipelineHandle.h.

Constructor & Destructor Documentation

carma::control::PipelineHandle::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.

Parameters
DOnamename of the pipeline DO
controlSubsystemwritable control subsystem that will be used to store changes to decimation and keepEndChannels
monitorSystemmonitor system reference, used for readNewest()
reachableMPthe reachable MP in the Control subsystem, array specific reachability section
pipelineMonitorSystemsubsystem that is used to see if monitor system is current for use in reachability algorithm
msgPrefixprepended to some messages to indicate which pipeline the message originates (e.g. C3gMax23)

Member Function Documentation

bool carma::control::PipelineHandle::isIntegrationComplete ( const monitor::MonitorSystem monsys,
int  monErrLimit 
)

Compare next sequence number with one returned by monitor system.

If they are the same then the last integration is complete.

Parameters
monsysmonitor system from which to retrieve completion
monitorDataErrorLimitnumber of consecutive monitor data invalid limit before thowing an exception
Returns
true if last action is complete
Exceptions
ifnumber of consecutive monitor data errors is exceeed
void carma::control::PipelineHandle::resetTsys ( carma::util::SeqShort  carmaAntNoSeq)

Reset tsys for given carma antenna number sequence.

Parameters
carmaAntNoSeqSequence of antennas - zero NOT accepted as subarray membership is determined by caller.

The documentation for this class was generated from the following file: