1 #ifndef SZA_UTIL_ARRAYMAPDATAFRAMEMANAGER_H
2 #define SZA_UTIL_ARRAYMAPDATAFRAMEMANAGER_H
13 #include "carma/szaarrayutils/arraymap.h"
27 class ArrayMapDataFrameManager :
public DataFrameManager {
33 virtual ~ArrayMapDataFrameManager();
38 void operator=(DataFrameManager& manager);
43 virtual void operator=(ArrayMapDataFrameManager& manager);
50 ArrayMapDataFrameManager& operator+=(ArrayMapDataFrameManager& fm);
55 void writeRegMap(ArrRegMap* aregmap,
56 RegMapDataFrameManager& fm,
bool lockFrame);
58 void writeRegMap(std::string regmap,
59 RegMapDataFrameManager& fm,
bool lockFrame);
64 void readRegMap(ArrRegMap* aregmap, RegMapDataFrameManager& fm);
65 void readRegMap(std::string regmap, RegMapDataFrameManager& fm);
71 void writeReg(std::string regmap, std::string board, std::string name,
72 unsigned char* data, CoordRange* range=0);
74 void writeReg(std::string regmap, std::string board, std::string name,
75 signed char* data, CoordRange* range=0);
77 void writeReg(std::string regmap, std::string board, std::string name,
78 bool* data, CoordRange* range=0);
80 void writeReg(std::string regmap, std::string board, std::string name,
81 unsigned short* data, CoordRange* range=0);
83 void writeReg(std::string regmap, std::string board, std::string name,
84 signed short* data, CoordRange* range=0);
86 void writeReg(std::string regmap, std::string board, std::string name,
87 unsigned int* data, CoordRange* range=0);
89 void writeReg(std::string regmap, std::string board, std::string name,
90 signed int* data, CoordRange* range=0);
92 void writeReg(std::string regmap, std::string board, std::string name,
93 float* data, CoordRange* range=0);
95 void writeReg(std::string regmap, std::string board, std::string name,
96 double* data, CoordRange* range=0);
98 void writeReg(std::string regmap, std::string board, std::string name,
99 RegDate::Data* data, CoordRange* range=0);
101 void writeReg(std::string regmap, std::string board, std::string name,
102 Complex<float>::Data* data, CoordRange* range=0);
108 void writeReg(std::string regmap, std::string board, std::string name,
109 unsigned char data, CoordRange* range=0);
111 void writeReg(std::string regmap, std::string board, std::string name,
112 signed char data, CoordRange* range=0);
114 void writeReg(std::string regmap, std::string board, std::string name,
115 bool data, CoordRange* range=0);
117 void writeReg(std::string regmap, std::string board, std::string name,
118 unsigned short data, CoordRange* range=0);
120 void writeReg(std::string regmap, std::string board, std::string name,
121 signed short data, CoordRange* range=0);
123 void writeReg(std::string regmap, std::string board, std::string name,
124 unsigned int data, CoordRange* range=0);
126 void writeReg(std::string regmap, std::string board, std::string name,
127 signed int data, CoordRange* range=0);
129 void writeReg(std::string regmap, std::string board, std::string name,
130 float data, CoordRange* range=0);
132 void writeReg(std::string regmap, std::string board, std::string name,
133 double data, CoordRange* range=0);
135 void writeReg(std::string regmap, std::string board, std::string name,
136 RegDate::Data data, CoordRange* range=0);
138 void writeReg(std::string regmap, std::string board, std::string name,
139 Complex<float>::Data data, CoordRange* range=0);
145 void writeReg(ArrRegMap* aregmap, RegMapBlock* blk,
146 unsigned char* data, CoordRange* range=0,
bool lockFrame=
true);
148 void writeReg(ArrRegMap* aregmap, RegMapBlock* blk,
149 signed char* data, CoordRange* range=0,
bool lockFrame=
true);
151 void writeReg(ArrRegMap* aregmap, RegMapBlock* blk,
152 bool* data, CoordRange* range=0,
bool lockFrame=
true);
154 void writeReg(ArrRegMap* aregmap, RegMapBlock* blk,
155 unsigned short* data, CoordRange* range=0,
bool lockFrame=
true);
157 void writeReg(ArrRegMap* aregmap, RegMapBlock* blk,
158 signed short* data, CoordRange* range=0,
bool lockFrame=
true);
160 void writeReg(ArrRegMap* aregmap, RegMapBlock* blk,
161 unsigned int* data, CoordRange* range=0,
bool lockFrame=
true);
163 void writeReg(ArrRegMap* aregmap, RegMapBlock* blk,
164 signed int* data, CoordRange* range=0,
bool lockFrame=
true);
166 void writeReg(ArrRegMap* aregmap, RegMapBlock* blk,
167 float* data, CoordRange* range=0,
bool lockFrame=
true);
169 void writeReg(ArrRegMap* aregmap, RegMapBlock* blk,
170 double* data, CoordRange* range=0,
bool lockFrame=
true);
172 void writeReg(ArrRegMap* aregmap, RegMapBlock* blk,
173 RegDate::Data* data, CoordRange* range=0,
bool lockFrame=
true);
175 void writeReg(ArrRegMap* aregmap, RegMapBlock* blk,
176 Complex<float>::Data* data, CoordRange* range=0,
bool lockFrame=
true);
182 void writeReg(ArrRegMap* aregmap, RegMapBlock* blk,
183 unsigned char data, CoordRange* range=0);
185 void writeReg(ArrRegMap* aregmap, RegMapBlock* blk,
186 signed char data, CoordRange* range=0);
188 void writeReg(ArrRegMap* aregmap, RegMapBlock* blk,
189 bool data, CoordRange* range=0);
191 void writeReg(ArrRegMap* aregmap, RegMapBlock* blk,
192 unsigned short data, CoordRange* range=0);
194 void writeReg(ArrRegMap* aregmap, RegMapBlock* blk,
195 signed short data, CoordRange* range=0);
197 void writeReg(ArrRegMap* aregmap, RegMapBlock* blk,
198 unsigned int data, CoordRange* range=0);
200 void writeReg(ArrRegMap* aregmap, RegMapBlock* blk,
201 signed int data, CoordRange* range=0);
203 void writeReg(ArrRegMap* aregmap, RegMapBlock* blk,
204 float data, CoordRange* range=0);
206 void writeReg(ArrRegMap* aregmap, RegMapBlock* blk,
207 double data, CoordRange* range=0);
209 void writeReg(ArrRegMap* aregmap, RegMapBlock* blk,
210 RegDate::Data data, CoordRange* range=0);
212 void writeReg(ArrRegMap* aregmap, RegMapBlock* blk,
213 Complex<float>::Data data, CoordRange* range=0);
219 void readReg(std::string regmap, std::string board, std::string name,
220 unsigned char* data, CoordRange* range=0);
222 void readReg(std::string regmap, std::string board, std::string name,
223 signed char* data, CoordRange* range=0);
225 void readReg(std::string regmap, std::string board, std::string name,
226 bool* data, CoordRange* range=0);
228 void readReg(std::string regmap, std::string board, std::string name,
229 unsigned short* data, CoordRange* range=0);
231 void readReg(std::string regmap, std::string board, std::string name,
232 signed short* data, CoordRange* range=0);
234 void readReg(std::string regmap, std::string board, std::string name,
235 unsigned int* data, CoordRange* range=0);
237 void readReg(std::string regmap, std::string board, std::string name,
238 signed int* data, CoordRange* range=0);
240 void readReg(std::string regmap, std::string board, std::string name,
241 float* data, CoordRange* range=0);
243 void readReg(std::string regmap, std::string board, std::string name,
244 double* data, CoordRange* range=0);
246 void readReg(std::string regmap, std::string board, std::string name,
247 RegDate::Data* data, CoordRange* range=0);
249 void readReg(std::string regmap, std::string board, std::string name,
250 Complex<float>::Data* data, CoordRange* range=0);
256 void readReg(ArrRegMap* aregmap, RegMapBlock* blk,
257 unsigned char* data, CoordRange* range=0);
259 void readReg(ArrRegMap* aregmap, RegMapBlock* blk,
260 signed char* data, CoordRange* range=0);
262 void readReg(ArrRegMap* aregmap, RegMapBlock* blk,
263 bool* data, CoordRange* range=0);
265 void readReg(ArrRegMap* aregmap, RegMapBlock* blk,
266 unsigned short* data, CoordRange* range=0);
268 void readReg(ArrRegMap* aregmap, RegMapBlock* blk,
269 signed short* data, CoordRange* range=0);
271 void readReg(ArrRegMap* aregmap, RegMapBlock* blk,
272 unsigned int* data, CoordRange* range=0);
274 void readReg(ArrRegMap* aregmap, RegMapBlock* blk,
275 signed int* data, CoordRange* range=0);
277 void readReg(ArrRegMap* aregmap, RegMapBlock* blk,
278 float* data, CoordRange* range=0);
280 void readReg(ArrRegMap* aregmap, RegMapBlock* blk,
281 double* data, CoordRange* range=0);
283 void readReg(ArrRegMap* aregmap, RegMapBlock* blk,
284 RegDate::Data* data, CoordRange* range=0);
286 void readReg(ArrRegMap* aregmap, RegMapBlock* blk,
287 Complex<float>::Data* data, CoordRange* range=0);
292 double getRegVal(RegRange& range,
bool lockFrame);
296 double getRegVal(RegDescription& desc);
300 inline bool archivedOnly() {
return archivedOnly_;};
304 inline SzaArrayMap* arrayMap() {
311 unsigned int getId(
unsigned nanoSecondInterval);
313 int byteOffsetInFrameOf(std::string regmap, std::string board,
314 std::string block, Coord* coord=0);
319 void* getPtr(RegDescription& desc);
323 SzaArrayMap* arrayMap_;
330 ArrayMapDataFrameManager(
bool archivedOnly_=
false);
336 int byteOffsetInFrameOf(ArrRegMap* aregmap, RegMapBlock* blk,
338 int byteOffsetInFrameOf(ArrRegMap* aregmap);
343 void packData(ArrRegMap* aregmap, RegMapBlock* blk,
344 void* data, CoordRange* range,
345 DataType::Type type,
bool lockFrame=
true);
346 void packData(std::string regmap, std::string board, std::string block,
347 void* data, CoordRange* range,
348 DataType::Type type,
bool lockFrame=
true);
353 void unpackData(ArrRegMap* aregmap, RegMapBlock* blk,
354 void* data, CoordRange* range,
355 DataType::Type type,
bool lockFrame=
true);
356 void unpackData(std::string regmap, std::string board, std::string block,
357 void* data, CoordRange* range,
358 DataType::Type type,
bool lockFrame=
true);
363 void checkType(std::string regmap, std::string board, std::string block,
367 void checkType(ArrRegMap* aregmap, RegMapBlock* blk, DataType::Type type,
374 RegMapBlock* getReg(std::string regmap, std::string board,
377 RegMapBlock* findReg(std::string regmap, std::string board,
380 ArrRegMap* getArrReg(std::string regmap);
385 bool regMapIsPresent(RegMap* regmap);
390 bool boardIsPresent(RegMapBoard* brd);
395 bool boardIsFlagged(ArrRegMap* aregmap, RegMapBoard* brd);
400 bool blockIsPresent(RegMapBlock* blk);
409 #endif // End #ifndef SZA_UTIL_ARRAYMAPDATAFRAMEMANAGER_H
Tagged: Sat Aug 14 13:12:19 UTC 2004.
Tagged: Sun Sep 26 14:35:48 UTC 2004.
virtual unsigned int getId()
Get a unique frame id based on integral MJD half-seconds.
Tagged: Tue Oct 12 10:25:49 PDT 2004.
Tagged: Fri Nov 14 12:37:53 UTC 2003.