casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TagType.h
Go to the documentation of this file.
1 
2 #ifndef TagType_CLASS
3 #define TagType_CLASS
4 #include <string>
5 #include <map>
6 #include <iostream>
7 
8 namespace asdm {
12 class TagType {
13  public:
18  virtual std::string toString() const;
19 
25  static const TagType* getTagType(std::string name);
26 
30  static const TagType* NoType;
31 
32 
33 
34 
35 
39  static const TagType* AlmaRadiometer ;
40 
41 
42 
46  static const TagType* Annotation ;
47 
48 
49 
53  static const TagType* Antenna ;
54 
55 
56 
57 
58 
59 
60 
61 
62 
63 
64 
65 
66 
67 
68 
72  static const TagType* CalData ;
73 
74 
75 
76 
77 
78 
79 
80 
81 
82 
83 
84 
85 
86 
87 
88 
89 
90 
91 
92 
93 
94 
95 
96 
97 
98 
99 
103  static const TagType* CalReduction ;
104 
105 
106 
107 
108 
109 
110 
114  static const TagType* ConfigDescription ;
115 
116 
117 
121  static const TagType* CorrelatorMode ;
122 
123 
124 
128  static const TagType* DataDescription ;
129 
130 
131 
132 
133 
138 
139 
140 
145 
146 
147 
151  static const TagType* Doppler ;
152 
153 
154 
155 
156 
160  static const TagType* ExecBlock ;
161 
162 
163 
167  static const TagType* Feed ;
168 
169 
170 
174  static const TagType* Field ;
175 
176 
177 
181  static const TagType* Flag ;
182 
183 
184 
185 
186 
187 
188 
192  static const TagType* FocusModel ;
193 
194 
195 
196 
197 
198 
199 
200 
201 
205  static const TagType* Holography ;
206 
207 
208 
212  static const TagType* Observation ;
213 
214 
215 
216 
217 
221  static const TagType* PointingModel ;
222 
223 
224 
228  static const TagType* Polarization ;
229 
230 
231 
235  static const TagType* Processor ;
236 
237 
238 
242  static const TagType* Pulsar ;
243 
244 
245 
249  static const TagType* Receiver ;
250 
251 
252 
256  static const TagType* SBSummary ;
257 
258 
259 
263  static const TagType* Scale ;
264 
265 
266 
267 
268 
269 
270 
274  static const TagType* Source ;
275 
276 
277 
281  static const TagType* SpectralWindow ;
282 
283 
284 
288  static const TagType* SquareLawDetector ;
289 
290 
291 
295  static const TagType* State ;
296 
297 
298 
302  static const TagType* Station ;
303 
304 
305 
306 
307 
311  static const TagType* SwitchCycle ;
312 
313 
314 
315 
316 
317 
318 
319 
320 
321 
322 
323 
324 
325 
326  private:
327  std::string name;
328  static std::map<std::string,const TagType*> name2TagType;
329  virtual ~TagType() {};
330  TagType(std::string name);
331 
332  class TagTypeMgr {
333  public:
336 
337 
338 
339 
341 
342 
343 
345 
346 
347 
349 
350 
351 
352 
353 
354 
355 
356 
357 
358 
359 
360 
361 
362 
363 
365 
366 
367 
368 
369 
370 
371 
372 
373 
374 
375 
376 
377 
378 
379 
380 
381 
382 
383 
384 
385 
386 
387 
388 
389 
390 
391 
393 
394 
395 
396 
397 
398 
399 
401 
402 
403 
405 
406 
407 
409 
410 
411 
412 
413 
415 
416 
417 
419 
420 
421 
423 
424 
425 
426 
427 
429 
430 
431 
432  if (TagType:: Feed) { delete TagType::Feed; TagType::Feed = 0; }
433 
434 
435 
436  if (TagType:: Field) { delete TagType::Field; TagType::Field = 0; }
437 
438 
439 
440  if (TagType:: Flag) { delete TagType::Flag; TagType::Flag = 0; }
441 
442 
443 
444 
445 
446 
447 
449 
450 
451 
452 
453 
454 
455 
456 
457 
459 
460 
461 
463 
464 
465 
466 
467 
469 
470 
471 
473 
474 
475 
477 
478 
479 
480  if (TagType:: Pulsar) { delete TagType::Pulsar; TagType::Pulsar = 0; }
481 
482 
483 
485 
486 
487 
489 
490 
491 
492  if (TagType:: Scale) { delete TagType::Scale; TagType::Scale = 0; }
493 
494 
495 
496 
497 
498 
499 
500  if (TagType:: Source) { delete TagType::Source; TagType::Source = 0; }
501 
502 
503 
505 
506 
507 
509 
510 
511 
512  if (TagType:: State) { delete TagType::State; TagType::State = 0; }
513 
514 
515 
517 
518 
519 
520 
521 
523 
524 
525 
526 
527 
528 
529 
530 
531 
532 
533 
534 
535  };
536 
538 
539  private :
540  TagTypeMgr(const TagTypeMgr&);
541  TagTypeMgr & operator=(const TagTypeMgr&);
542  };
544 };
545 } // end namespace asdm
546 #endif /* TagType_CLASS */
TagTypeMgr & operator=(const TagTypeMgr &)
static const TagType * Doppler
The TagType for a Doppler Tag.
Definition: TagType.h:151
virtual ~TagType()
Definition: TagType.h:329
static const TagType * AlmaRadiometer
The TagType for a AlmaRadiometer Tag.
Definition: TagType.h:39
TagType(std::string name)
static const TagType * Source
The TagType for a Source Tag.
Definition: TagType.h:274
static const TagType * Observation
The TagType for a Observation Tag.
Definition: TagType.h:212
static const TagType * NoType
The TagType for a no typed Tag.
Definition: TagType.h:30
static const TagType * Processor
The TagType for a Processor Tag.
Definition: TagType.h:235
static const TagType * Pulsar
The TagType for a Pulsar Tag.
Definition: TagType.h:242
static const TagType * Antenna
The TagType for a Antenna Tag.
Definition: TagType.h:53
static const TagType * DelayModelFixedParameters
The TagType for a DelayModelFixedParameters Tag.
Definition: TagType.h:137
static const TagType * SwitchCycle
The TagType for a SwitchCycle Tag.
Definition: TagType.h:311
static const TagType * DelayModelVariableParameters
The TagType for a DelayModelVariableParameters Tag.
Definition: TagType.h:144
virtual std::string toString() const
The string representation of a TagType.
static const TagType * Holography
The TagType for a Holography Tag.
Definition: TagType.h:205
static const TagType * Station
The TagType for a Station Tag.
Definition: TagType.h:302
static std::map< std::string, const TagType * > name2TagType
Definition: TagType.h:328
static const TagType * Field
The TagType for a Field Tag.
Definition: TagType.h:174
static const TagType * FocusModel
The TagType for a FocusModel Tag.
Definition: TagType.h:192
static const TagType * ExecBlock
The TagType for a ExecBlock Tag.
Definition: TagType.h:160
static const TagType * SquareLawDetector
The TagType for a SquareLawDetector Tag.
Definition: TagType.h:288
static const TagType * Receiver
The TagType for a Receiver Tag.
Definition: TagType.h:249
static const TagType * CorrelatorMode
The TagType for a CorrelatorMode Tag.
Definition: TagType.h:121
static const TagType * PointingModel
The TagType for a PointingModel Tag.
Definition: TagType.h:221
static const TagType * DataDescription
The TagType for a DataDescription Tag.
Definition: TagType.h:128
A class to represent the type of Tag , i.e.
Definition: TagType.h:12
static const TagType * getTagType(std::string name)
Returns a TagType given a string.
std::string name
Definition: TagType.h:327
static const TagType * Flag
The TagType for a Flag Tag.
Definition: TagType.h:181
static const TagType * Annotation
The TagType for a Annotation Tag.
Definition: TagType.h:46
static const TagType * Feed
The TagType for a Feed Tag.
Definition: TagType.h:167
static TagTypeMgr tagTypeMgr
Definition: TagType.h:543
static const TagType * CalReduction
The TagType for a CalReduction Tag.
Definition: TagType.h:103
static const TagType * State
The TagType for a State Tag.
Definition: TagType.h:295
static const TagType * Scale
The TagType for a Scale Tag.
Definition: TagType.h:263
static const TagType * SBSummary
The TagType for a SBSummary Tag.
Definition: TagType.h:256
static const TagType * ConfigDescription
The TagType for a ConfigDescription Tag.
Definition: TagType.h:114
static const TagType * CalData
The TagType for a CalData Tag.
Definition: TagType.h:72
static const TagType * SpectralWindow
The TagType for a SpectralWindow Tag.
Definition: TagType.h:281
static const TagType * Polarization
The TagType for a Polarization Tag.
Definition: TagType.h:228