3 #ifndef SZA_ANTENNA_CORBA_SZAMONITORSYSTEMMAP_H
4 #define SZA_ANTENNA_CORBA_SZAMONITORSYSTEMMAP_H
19 #include "carma/szaarrayutils/arraytemplate.h"
20 #include "carma/szaarrayutils/arraymap.h"
26 #define MAX_CARMA_STRING_LENGTH 80
27 #define MP_PACK_FN(fn) void (fn)(carma::monitor::MonitorPoint* mp, unsigned nSamp, sza::util::ArrayDataFrameManager* dfm, \
28 ArrRegMap* aregmap, RegMapBlock* blk, void* ptr)
34 class SzaMonitorSystemMap {
43 void packData(sza::util::BitMask& bitMask);
49 sza::util::ArrayDataFrameManager* dfm_;
62 virtual ~SzaBrdTemp();
70 void addRegister(std::string blockName,
unsigned flags,
unsigned nEl1,
unsigned nEl2, std::string units=
"unknown");
73 std::map<std::string, SzaBlkTemp*> blockMap_;
74 std::vector<RegBlockTemp> blockVec_;
81 struct SzaRegmapTemp {
86 std::map<std::string, SzaBrdTemp*> boardMap_;
89 virtual ~SzaRegmapTemp();
94 void addRegister(std::string boardName, std::string blockName,
unsigned flags,
95 unsigned nEl1,
unsigned nEl2, std::string units=
"unknown");
113 std::map<std::string, SzaRegmapTemp*> regmapMap_;
118 bool arrayTemplateIsInitialized_;
123 bool registerPointersAreInitialized_;
127 unsigned iSlBandStart_;
128 unsigned nSlBandMax_;
132 unsigned iWbBandStart_;
133 unsigned nWbBandMax_;
139 ArrayMap* szaArrayMap_;
147 unsigned nValidityFlags_;
150 sza::util::BitMask validityBitMask_;
156 SzaMonitorSystemMap();
157 virtual ~SzaMonitorSystemMap();
159 static RegMapBlock* getSzaBlock(ArrayMap* arrayMap, sza::util::String& regmapName, sza::util::String& boardName,
160 sza::util::String& blockName);
166 sza::util::String& regmapName,
167 sza::util::String& boardName,
168 sza::util::String& blockName);
170 void constructArrayMapFromCarmaMonitorSystem(std::vector<carma::monitor::MonitorPoint*>& mpVec);
172 void addWbCorrelatorRegisters(
bool coherenceMonitor=
false);
173 void addSlCorrelatorRegisters(
bool coherenceMonitor=
false);
175 void addCorrelatorBoard(std::string regmapName, std::string boardName,
unsigned nAnt,
bool coherenceMonitor);
177 ArrayMap* getArrayMap();
182 void setupRegisterPointers(sza::util::ArrayDataFrameManager& dfm);
184 unsigned initializeValidityBitMask();
185 void initializeValidityBitIndices();
186 unsigned char* getValidityPtr();
188 static MP_PACK_FN(packBool);
189 static MP_PACK_FN(packByte);
190 static MP_PACK_FN(packShort);
191 static MP_PACK_FN(packInt);
192 static MP_PACK_FN(packFloat);
193 static MP_PACK_FN(packComplexFloat);
194 static MP_PACK_FN(packDouble);
195 static MP_PACK_FN(packString);
199 void addRegister(std::string regmapName, std::string boardName, std::string blockName,
unsigned flags,
200 unsigned nEl1=1,
unsigned nEl2=0, std::string units=
"unknown");
202 unsigned longestStringLen_;
206 void addRegister(std::string regmapName, std::string boardName, std::string blockName,
209 void generateArrayTemplate();
210 void generateArrayMap();
223 #endif // End #ifndef SZA_ANTENNA_CORBA_SZAMONITORSYSTEMMAP_H
An iterator to recursively extract MonitorPoints from MonitorContainers.
Classes that provide the pecializations of monitor points and sense poiints for different datatypes...
Tagged: Tue Mar 6 16:39:02 PST 2012.
The monitor system base class.
Tagged: Sat Mar 20 05:20:30 UTC 2004.
Abstract base class for a monitor point.
......................................................................
Tagged: Wed May 12 09:30:13 PDT 2004.