CARMA C++
SignalPathMapping.h
1 #ifndef CARMA_MONITOR_SIGNAL_PATH_MAPPING_H_
2 #define CARMA_MONITOR_SIGNAL_PATH_MAPPING_H_
3 
4 #include "carma/monitor/CorrDesignation.h"
6 #include "carma/monitor/SignalPathCommonMonitorPoints.h"
7 
8 #include <vector>
9 #include <set>
10 
11 namespace carma {
12 namespace monitor {
13 
14 typedef PolarizationMonitorPointEnum PolMPE;
15 typedef PolarizationMonitorPointEnum::POLARIZATION PolType;
16 typedef std::pair< int, PolType > AntPolPair;
17 typedef std::pair< int, PolType > BandPolPair;
18 
23 public:
24 
31  SignalPathMapping( const MonitorSystem & monitorSystem,
32  MonitorCorrelatorDesignation corrDes );
33 
38 
45  bool update( );
46 
54  bool changed( ) const;
55 
60  std::vector< int > getMappedAstroBandNumbers( ) const;
61 
66  std::vector< int > getMappedAntennaNumbers( ) const;
67 
72  std::set< int > getMappedAntennaNumbers( const int astroBandNo ) const;
73 
79  std::vector< PolType > getMappedPolarizations( int astroBandNo ) const;
80 
86  std::vector< AntPolPair > getMappedAntPolPairs( int astroBandNo ) const;
87 
92  std::vector< BandPolPair > getMappedBandPolPairs( ) const;
93 
98  bool signalPathMapped( int astroBandNo ) const;
99 
104  bool signalPathMapped( int astroBandNo, const AntPolPair & antPol ) const;
105 
106 private:
107 
108  struct Pimpl;
109  std::auto_ptr< Pimpl > pimpl_;
110 
111 }; // class SignalPathMapping
112 
113 }} // namespace carma::monitor
114 
115 #endif // CARMA_MONITOR_SIGNAL_PATH_MAPPING_H_
bool signalPathMapped(int astroBandNo) const
Determine if a particular astro band is mapped.
The monitor system base class.
std::vector< PolType > getMappedPolarizations(int astroBandNo) const
For given astroband retrieve pols for which a signal path is defined.
Class containing convenient accessors to the signal path mapping.
std::vector< int > getMappedAstroBandNumbers() const
Retrieve ordered astro band numbers for which a signal path is defined.
std::vector< AntPolPair > getMappedAntPolPairs(int astroBandNo) const
For given astroband get ant-pol pairs for which a signal path is defined.
SignalPathMapping(const MonitorSystem &monitorSystem, MonitorCorrelatorDesignation corrDes)
Constructor.
std::vector< int > getMappedAntennaNumbers() const
Retrieve ordered antenna numbers for which a signal path is defined.
Monitor system base class.
Definition: MonitorSystem.h:81
std::vector< BandPolPair > getMappedBandPolPairs() const
Retrieve ordered band-pol pairs for which a signal path is defined.
bool update()
Update Checks current frame of monitor system for signal path mapping changes.
bool changed() const
Changed Returns true if the signal path mapping has changed since the last call to update...