CARMA C++
carma::monitor Namespace Reference

Monitor subsystem. More...

Classes

class  SignalPath
 Class to manage information about mapping of signal paths from antennas to correlator/downconverter inputs. More...
 
struct  AntennaBasedPoints
 Structure containing antenna based monitor points whose values have to be sent to the correlator pipeline. More...
 
struct  AveProperties
 Structure keeps track of sample properties of a monitor point for the purposes of calculating various averages. More...
 
class  AverageAccumulatorBase
 Common base class for TypedAverageAccumulatorT< T, U > classes. More...
 
struct  BandInputMonitorPoints
 Structure containing monitor points per band, per inout # that have to be sent to the correlator pipeline. More...
 
struct  BaselineBandBlanking
 Structure containing blanking information on per, baseline, per band. More...
 
class  C3gMax23PipelineSubsystem
 The monitor system for the C3gMax23Pipeline subsystem. More...
 
class  C3gMax8PipelineSubsystem
 The monitor system for the C3gMax8Pipeline subsystem. More...
 
class  CarmaMonitorSystem
 Carma monitor system. More...
 
struct  ControlBandFrequencies
 Structure containing band based monitor points from Control subsystem. More...
 
struct  ControlBasedMonitorPoints
 Structure containing monitor points from Control subsystem that have to be sent to the correlator pipeline. More...
 
class  ControlSubsystem
 The monitor system for the Control subsystem. More...
 
class  FinalCarmaMonitorSystem
 This is the Final Carma Monitor system after monitor point values from the correlator pipeline have been collated and synchronized with the appropriate frame. More...
 
class  FrameSubscriber
 A class that accepts named events from a Push supplier. More...
 
class  IllegalMonitorPointExceptionObj
 Exception class thrown when an invalid monitor point is detected. More...
 
class  MonitorComponent
 A composite interface used to build the monitor system hierarchy. More...
 
class  MonitorContainer
 A generic monitor system container base class. More...
 
class  MonitorDevice
 A monitor system device, used in the construction of monitor points and containers that are based on physical devices. More...
 
class  MonitorPoint
 Abstract base class for a monitor point. More...
 
class  MonitorPointAbstime
 Absolute time value monitor point. More...
 
class  MonitorPointAccumulatorT
 MonitorPointAccumulatorT< T, U > More...
 
class  MonitorPointAverageT
 Template for collecting data for computing average associated with one monitor point. More...
 
class  MonitorPointBool
 Boolean value monitor point. More...
 
class  MonitorPointByte
 Byte value (unsigned char) monitor point. More...
 
class  MonitorPointChar
 Character value monitor point. More...
 
class  MonitorPointComplex
 Complex value monitor point. More...
 
class  MonitorPointDouble
 Double value monitor point. More...
 
class  MonitorPointEnum
 Abstract base class for any enumerated constants, like state machines. More...
 
class  MonitorPointFloat
 Float value monitor point. More...
 
class  MonitorPointHeader
 Wrapper class for monitor point header information. More...
 
class  MonitorPointInt
 Long integer value monitor point (4 bytes). More...
 
class  MonitorPointIterator
 Iterator for monitor point hierarchy that returns monitor points. More...
 
class  MonitorPointNumeric
 Abstract base class for a numeric monitor point. More...
 
class  MonitorPointReal
 Base class for all real value monitor points (float, double, etc). More...
 
class  MonitorPointSample
 Class representing a data sample for a MonitorPoint. More...
 
class  MonitorPointSerialNo
 Serial number monitor point, stored as integer value(4 bytes). More...
 
class  MonitorPointSet
 A class that manages the sets of monitor points for a monitor subsystem. More...
 
class  MonitorPointShort
 Short integer value monitor point (2 bytes). More...
 
class  MonitorPointString
 String value monitor point (up to 80 characters in length). More...
 
class  MonitorPointUpdateServant
 class that represents the scriber part of the frameScriberPublisher. More...
 
struct  MonitorSampleValue
 Structure for storing monitor point sample, including value. More...
 
class  MonitorSubsystem
 Abstract MonitorSubsystem base class. More...
 
class  MonitorSubsystemMaster
 A factory to produce monitor subsystems based on name. More...
 
class  MonitorSystem
 Monitor system base class. More...
 
class  MonitorSystemContainer
 Monitor system container interface definition. More...
 
class  MonitorSystemPipelineSync
 Class to synchronize an input carma monitor system with appropriately time tagged pipeline monitor data. More...
 
class  MonitorSystemWithThreshold
 MonitorSystemWithThreshold is a class that contains methods for retrieving and setting threshold values for monitor points. More...
 
union  MonitorValue
 Union of all possible types of monitor sample values. More...
 
class  NullEventException
 Indicates that a null event was returned by FrameSubscriber::retrieveNotification() More...
 
class  OvroSubsystemPrewrite
 OvroSubsystemPrewrite class. More...
 
class  PhysicalDevice
 A monitor system physical device, used in the construction of monitor points and containers that are based on physical devices. More...
 
class  PipelineSubsystem
 Abstract base class for retrieving pipeline monitor system components common between the spectral line and wideband systems. More...
 
class  PipelineSubsystemTemplate
 Templatized implementation of PipelineSubsystem interface. More...
 
class  RawCarmaMonitorSystem
 This is the full Carma monitor system before fault system processing and immediately following collation in the frameCollator. More...
 
class  ReachedNumThresholdLimitException
 Exception generated by SystemThreshdolFrame object when threshold object (specified by tagID) cannot be allocated due to lack of space (number of allocated thresholds == maxThresholds). More...
 
class  Runnable
 Abstract class that defines the interface for executing a method. More...
 
class  SampleInvalidExceptionObj
 Exception class thrown when an invalid sample is detected. More...
 
class  SignalPathMapping
 Class containing convenient accessors to the signal path mapping. More...
 
class  SlPipelineSubsystem
 The monitor system for the SlPipeline subsystem. More...
 
class  SubsystemFrame
 Frame containing monitor points for a monitor subsystem frame. More...
 
class  SubsystemFrameBuffer
 Frame containing monitor points for a monitor subsystem, and mapped to an IPQ - essentially a SubsystemFrameQueue. More...
 
struct  SubsystemHeader
 Structure used to manage memory for a subsystem frame. More...
 
class  SystemFrame
 Frame containing monitor points for all monitor subsystems. More...
 
class  SystemThresholdFrame
 Class that manages the thresholds for all the monitor points within a monitor system (represented by a carma::monitor::MonitorSystem object). More...
 
class  SystemThresholdFrameBuffer
 Class that manages the IPQ version of SystemThresholdFrame. More...
 
class  ThresholdFileWriter
 A class that will allow you to write out the set threshold values for the monitor system into an xml file. More...
 
struct  ThresholdFrameStruct
 Structure keeps track of sample properties of a monitor point for the purposes of calculating various averages. More...
 
class  ThresholdHandler
 ThresholdHandler contains methods to deal with setting thresholds via mpml file. More...
 
class  ThresholdObjectNotFoundException
 Exception generated by SystemThreshdolFrame object when threshold object (specified by tagID) is not found in the SystemthresholdFrame. More...
 
struct  TransportMonitorValueMetadata
 Transport monitor value metadata. More...
 
struct  TransportSubsystemFrame
 Contains sample values from all monitor points in a monitor subsystem. More...
 
class  TypedAverageAccumulatorT
 TypedAverageAccumulatorT More...
 
class  WbPipelineSubsystem
 The monitor system for the WbPipeline subsystem. More...
 
struct  WeatherMonitorPoints
 Structure containing weather data that has to be sent to the correlator pipeline. More...
 

Typedefs

typedef
TypedAverageAccumulatorT
< MonitorPointAbstime, double > 
AbstimeAccumulator
 
typedef sequence
< AntennaBasedPoints
AntennaBasedMonitorPointSeq
 
typedef struct
carma::monitor::AntennaInfoStruct 
AntennaInfo
 
typedef enum
carma::monitor::AntTypeEnum 
AntennaType
 
typedef std::pair< int, PolType > AntPolPair
 
typedef std::pair< int, int > BandInputPair
 
typedef std::pair< int, PolType > BandPolPair
 
typedef sequence
< BaselineBandBlanking
BaselineBandBlankingSeq
 
typedef
TypedAverageAccumulatorT
< MonitorPointBool, long > 
BoolAccumulator
 
typedef sequence< boolean > BoolSeq
 
typedef
TypedAverageAccumulatorT
< MonitorPointByte, double > 
ByteAccumulator
 
typedef sequence< char, 8 > Char8
 
typedef
TypedAverageAccumulatorT
< MonitorPointChar, double > 
CharAccumulator
 
typedef sequence< char > CharSeq
 
typedef ::std::auto_ptr
< CarmaMonitorSystem
CmsAP
 
typedef
TypedAverageAccumulatorT
< MonitorPointComplex,::std::complex
< float > > 
ComplexAccumulator
 
typedef sequence< ComplexFloat > ComplexSeq
 
typedef sequence
< ControlBandFrequencies
ControlBandFrequenciesSeq
 
typedef
TypedAverageAccumulatorT
< MonitorPointDouble, double > 
DoubleAccumulator
 
typedef sequence< double > DoubleSeq
 
typedef sequence
< BandInputMonitorPoints
DownconverterBasedMonitorPointSeq
 
typedef
TypedAverageAccumulatorT
< MonitorPointEnum, int > 
EnumAccumulator
 
typedef
TypedAverageAccumulatorT
< MonitorPointFloat, double > 
FloatAccumulator
 
typedef sequence< float > FloatSeq
 
typedef
TypedAverageAccumulatorT
< MonitorPointInt, double > 
IntAccumulator
 
typedef sequence< octet > iSampleSeq
 
typedef sequence< long > LongSeq
 
typedef sequence< MappingInfo > MappingInfoSeq
 sequence to hold the astroband/astroinput mapping information More...
 
typedef MonitorPointAverageT
< long > 
MonitorPointAverageBool
 
typedef MonitorPointAverageT
< ::std::complex< float > > 
MonitorPointAverageComplex
 
typedef MonitorPointAverageT< int > MonitorPointAverageEnum
 
typedef MonitorPointAverageT
< double > 
MonitorPointAverageNumeric
 
typedef MonitorPointAverageT
< long > 
MonitorPointAverageSerialNo
 
typedef MonitorPointAverageT
< ::std::string > 
MonitorPointAverageString
 
typedef sequence
< TransportMonitorValueMetadata
MonitorSampleValueMetadataSeq
 
typedef short MonitorValueType
 Enumeration of possible types for monitor point values. More...
 
typedef sequence
< MonitorValueType
MonitorValueTypeSeq
 
typedef
PipelineSubsystemTemplate
< C3gMax23PipelineSubsystem
PipelineSubsystemC3gMax23
 
typedef
PipelineSubsystemTemplate
< C3gMax8PipelineSubsystem
PipelineSubsystemC3gMax8
 
typedef
PipelineSubsystemTemplate
< SlPipelineSubsystem
PipelineSubsystemSL
 
typedef
PipelineSubsystemTemplate
< WbPipelineSubsystem
PipelineSubsystemWB
 
typedef unsigned short pointIDType
 
typedef
PolarizationMonitorPointEnum 
PolMPE
 
typedef
PolarizationMonitorPointEnum::POLARIZATION 
PolType
 
typedef
TypedAverageAccumulatorT
< MonitorPointSerialNo, long > 
SerialNoAccumulator
 
typedef sequence< long > SerialNumberSeq
 
typedef
TypedAverageAccumulatorT
< MonitorPointShort, double > 
ShortAccumulator
 
typedef sequence< short > ShortSeq
 
typedef
TypedAverageAccumulatorT
< MonitorPointString,::std::string > 
StringAccumulator
 
typedef sequence< Char8 > StringSeq
 
typedef unsigned short subsystemIDType
 
typedef long tagIDType
 
typedef enum
carma::monitor::ThresholdSetBits 
ThresholdSetState
 
typedef enum
carma::monitor::ThresholdValues 
ThresholdValueEnum
 
typedef sequence
< TransportMonitorValue > 
TransportMonitorValueSeq
 
typedef unsigned char uchar
 
typedef sequence< unsigned short > UShortSeq
 
typedef sequence< octet > ValidityFlagSeq
 

Enumerations

enum  AntTypeEnum { ANTENNA_OVRO, ANTENNA_BIMA, ANTENNA_SZA, ANTENNA_NUM_TYPES }
 
enum  CmsSelector { RAW_CMS_SELECTOR, INTERMEDIATE_CMS_SELECTOR, FINAL_CMS_SELECTOR }
 
enum  DBwriteType {
  MONITOR_DB_TYPE_NUMERIC, MONITOR_DB_TYPE_SHORT, MONITOR_DB_TYPE_STRING, MONITOR_DB_TYPE_COMPLEX,
  MONITOR_DB_TYPE_NUM_TYPES
}
 
enum  ThresholdSetBits {
  THRESHOLD_NONE_SET = 0x0, THRESHOLD_ERROR_LOW_SET = 1 << THRESHOLD_LOW_ERROR_VALUE, THRESHOLD_WARN_LOW_SET = 1 << THRESHOLD_LOW_WARN_VALUE, THRESHOLD_ERROR_HIGH_SET = 1 << THRESHOLD_HIGH_ERROR_VALUE,
  THRESHOLD_WARN_HIGH_SET = 1 << THRESHOLD_HIGH_WARN_VALUE
}
 
enum  ThresholdValues {
  THRESHOLD_LOW_ERROR_VALUE, THRESHOLD_LOW_WARN_VALUE, THRESHOLD_HIGH_ERROR_VALUE, THRESHOLD_HIGH_WARN_VALUE,
  THRESHOLD_NUM_VALUES
}
 
enum  WriteStatus { MONITOR_NOT_WRITTEN = -1, MONITOR_WRITTEN_ONCE = 0, MONITOR_WRITTEN_AGAIN = 1 }
 

Functions

std::set
< carma::monitor::tagIDType > 
compareContainerToFile (MonitorContainer &container, const std::string &filename)
 Compare an input monitor container to a file containing a saved version of given monitor container. More...
 
CmsSelector convertStringToCmsSelector (const ::std::string &s)
 
carma::util::CorrelatorType corrDesToCorrType (const MonitorCorrelatorDesignation cde)
 
MonitorCorrelatorDesignation corrTypeToCorrDes (const carma::util::CorrelatorType ct)
 
unsigned short GetFlag (const unsigned short &flags, const unsigned short &mask)
 
void logBadValidity (MonitorPoint::VALIDITY validity, const MonitorPoint *mp, bool fix, const char *context)
 
void logBadValidityFlags (uchar vf, const MonitorPoint *mp, bool fix, const char *context)
 
void logBadValidityFlags (uchar vf, tagIDType tagId, int sampleIndex, bool fix, const char *context)
 
CmsAP makeCms (const CmsSelector selector,::std::string &outName)
 
std::ostream & operator<< (std::ostream &os, const MonitorComponent &component)
 
MonitorPoint::VALIDITY sanityCheckValidity (MonitorPoint::VALIDITY validity, const MonitorPoint *mp, bool fix, const char *context)
 
uchar sanityCheckValidityFlags (uchar vf, const MonitorPoint *mp, bool fix, const char *context)
 
uchar sanityCheckValidityFlags (uchar vf, tagIDType tagId, int sampleIndex, bool fix, const char *context)
 
void setContainerFromFile (MonitorContainer &container, const std::string &filename)
 Read the contents of the specified file and populate the input monitor system with data from the file. More...
 
void SetFlag (unsigned short &flags, const unsigned short &mask)
 
void UnsetFlag (unsigned short &flags, const unsigned short &mask)
 
void writeContainerToFile (const MonitorContainer &container, const std::string &filename, const std::vector< std::string > &skip=std::vector< std::string >())
 Write the contents of a MonitorContainer to the specified file as text. More...
 

Variables

const long HALF_SECOND_IN_NANOSECONDS
 
const string MONITOR_CHANNEL_NAME = "CARMAmonitor"
 
const MonitorValueType MONITOR_VALUE_TYPE_BOOLEAN = 3
 
const MonitorValueType MONITOR_VALUE_TYPE_BYTE = 0
 
const MonitorValueType MONITOR_VALUE_TYPE_COMPLEX = 6
 
const MonitorValueType MONITOR_VALUE_TYPE_DOUBLE = 5
 
const MonitorValueType MONITOR_VALUE_TYPE_FLOAT = 4
 
const MonitorValueType MONITOR_VALUE_TYPE_INTEGER = 2
 
const MonitorValueType MONITOR_VALUE_TYPE_SERIAL_NUMBER = 8
 
const MonitorValueType MONITOR_VALUE_TYPE_SHORT = 1
 
const MonitorValueType MONITOR_VALUE_TYPE_STRING = 7
 
const string SPECTRAL_CORR_PIPELINE_UPDATE_NAME
 
const string WIDEBAND_CORR_PIPELINE_UPDATE_NAME
 

Detailed Description

Typedef Documentation

typedef sequence<MappingInfo> carma::monitor::MappingInfoSeq

sequence to hold the astroband/astroinput mapping information

This will use the standard approach to flattening a two-dimentional array into a single dimentional array. Each element will contain the points for the astroband/astroinput pair.

Definition at line 268 of file CorrPipelineUpdate.idl.

Enumeration of possible types for monitor point values.

Changes in this enum definition should also change the union MonitorValue switch definition below.

Note this has been modified from an enum to a short due to extremely inefficient marshaling and demarshaling in TAO.

Definition at line 51 of file monitorframe.idl.

Function Documentation

std::set< carma::monitor::tagIDType > carma::monitor::compareContainerToFile ( MonitorContainer &  container,
const std::string &  filename 
)

Compare an input monitor container to a file containing a saved version of given monitor container.

A vector of tag ids containing monitor points which HAVE changed is returned. Note that the tagIds may not be persistent if they are generated on the fly and are thus unsuitable for storage.

Parameters
containerMonitor container to compare file data to.
filenameName of file containing monitor data to compare container to.
Exceptions
ErrorExceptionon failure to open file or other IO error.
std::ostream & operator<< ( std::ostream &  os,
const MonitorComponent &  component 
)

Output string representation of component to a stream. This uses the Component::toString() method with default arguments.

* cout << myComponent << endl;
*

might produce output that looks like this:

* mycomponent 3.14
*
Parameters
osoutput ostream
componentto be stringified
Returns
The os output stream parameter so that stream insertions can be chained in the usual C++ way (as shown in the example). Example:
cout<<myComponent<<flush;
void carma::monitor::setContainerFromFile ( MonitorContainer &  container,
const std::string &  filename 
)

Read the contents of the specified file and populate the input monitor system with data from the file.

Parameters
containerMonitor container to restore using data from file.
filenameName of file containing restore data.
Exceptions
ErrorExceptionon failure to open file or other IO error.
ErrorExceptionon mismatched container and file contents.
See Also
writeContainerToFile
void carma::monitor::writeContainerToFile ( const MonitorContainer &  container,
const std::string &  filename,
const std::vector< std::string > &  skip = std::vector< std::string >() 
)

Write the contents of a MonitorContainer to the specified file as text.

If the file exists, it's contents are overwritten, if not, this function attempts to create it throwing if not successful. For each valid monitor point a line is output containing the tagId, canonical name, type information and the value of the monitor point. Only valid monitor points from the input container are written.

Parameters
containerMonitor container to write from.
filenameFile name of file to write.
skipCanonical name of subcontainer(s) to skip.
Exceptions
ErrorExceptionon failure to write file or other error.
See Also
setContainerFromFile

Variable Documentation

const string carma::monitor::SPECTRAL_CORR_PIPELINE_UPDATE_NAME
Initial value:
=
"carma.monitor.SpectralCorrPipelineUpdate"

Definition at line 33 of file CorrPipelineUpdate.idl.

const string carma::monitor::WIDEBAND_CORR_PIPELINE_UPDATE_NAME
Initial value:
=
"carma.monitor.WidebandCorrPipelineUpdate"

Definition at line 36 of file CorrPipelineUpdate.idl.