casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FocusRow.h
Go to the documentation of this file.
1 
2 /*
3  * ALMA - Atacama Large Millimeter Array
4  * (c) European Southern Observatory, 2002
5  * (c) Associated Universities Inc., 2002
6  * Copyright by ESO (in the framework of the ALMA collaboration),
7  * Copyright by AUI (in the framework of the ALMA collaboration),
8  * All rights reserved.
9  *
10  * This library is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU Lesser General Public
12  * License as published by the Free software Foundation; either
13  * version 2.1 of the License, or (at your option) any later version.
14  *
15  * This library is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY, without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  * Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public
21  * License along with this library; if not, write to the Free Software
22  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
23  * MA 02111-1307 USA
24  *
25  * Warning!
26  * --------------------------------------------------------------------
27  * | This is generated code! Do not modify this file. |
28  * | If you do, all changes will be lost when the file is re-generated. |
29  * --------------------------------------------------------------------
30  *
31  * File FocusRow.h
32  */
33 
34 #ifndef FocusRow_CLASS
35 #define FocusRow_CLASS
36 
37 #include <vector>
38 #include <string>
39 #include <set>
40 
41 #ifndef WITHOUT_ACS
42 #include <asdmIDLC.h>
43 #endif
44 
45 
46 
47 
48 
49 
50 
52 
53 
54 
55 #include <alma/ASDM/Angle.h>
56 
57 
58 
59 #include <alma/ASDM/Length.h>
60 
61 
62 
63 #include <alma/ASDM/Tag.h>
64 
65 
66 
67 
68 
69 
70 
71 
72 
73 
74 
75 
76 
77 
78 
79 
80 
81 
82 
84 #include <alma/ASDM/NoSuchRow.h>
86 
88 //#include <alma/ASDM/TableStreamReader.h>
89 
90 /*\file Focus.h
91  \brief Generated from model's revision "-1", branch ""
92 */
93 
94 namespace asdm {
95 
96 //class asdm::FocusTable;
97 
98 
99 // class asdm::AntennaRow;
100 class AntennaRow;
101 
102 // class asdm::FocusModelRow;
103 class FocusModelRow;
104 
105 
106 class FocusRow;
108 typedef void (FocusRow::*FocusAttributeFromText) (const std::string& s);
109 
116 class FocusRow {
117 friend class asdm::FocusTable;
119 //friend class asdm::TableStreamReader<FocusTable, FocusRow>;
120 
121 public:
122 
123  virtual ~FocusRow();
124 
128  FocusTable &getTable() const;
129 
134  bool isAdded() const;
135 
137  // Intrinsic Table Attributes //
139 
140 
141  // ===> Attribute timeInterval
142 
143 
144 
145 
146 
151  ArrayTimeInterval getTimeInterval() const;
152 
153 
154 
155 
165  void setTimeInterval (ArrayTimeInterval timeInterval);
166 
167 
168 
169 
170 
171 
172 
173  // ===> Attribute focusTracking
174 
175 
176 
177 
178 
183  bool getFocusTracking() const;
184 
185 
186 
187 
195  void setFocusTracking (bool focusTracking);
196 
197 
198 
199 
200 
201 
202 
203  // ===> Attribute focusOffset
204 
205 
206 
207 
208 
213  std::vector<Length > getFocusOffset() const;
214 
215 
216 
217 
225  void setFocusOffset (std::vector<Length > focusOffset);
226 
227 
228 
229 
230 
231 
232 
233  // ===> Attribute focusRotationOffset
234 
235 
236 
237 
238 
243  std::vector<Angle > getFocusRotationOffset() const;
244 
245 
246 
247 
255  void setFocusRotationOffset (std::vector<Angle > focusRotationOffset);
256 
257 
258 
259 
260 
261 
262 
263  // ===> Attribute measuredFocusPosition, which is optional
264 
265 
266 
271  bool isMeasuredFocusPositionExists() const;
272 
273 
274 
280  std::vector<Length > getMeasuredFocusPosition() const;
281 
282 
283 
284 
291  void setMeasuredFocusPosition (std::vector<Length > measuredFocusPosition);
292 
293 
294 
295 
300 
301 
302 
303 
304  // ===> Attribute measuredFocusRotation, which is optional
305 
306 
307 
312  bool isMeasuredFocusRotationExists() const;
313 
314 
315 
321  std::vector<Angle > getMeasuredFocusRotation() const;
322 
323 
324 
325 
332  void setMeasuredFocusRotation (std::vector<Angle > measuredFocusRotation);
333 
334 
335 
336 
341 
342 
343 
345  // Extrinsic Table Attributes //
347 
348 
349  // ===> Attribute antennaId
350 
351 
352 
353 
354 
359  Tag getAntennaId() const;
360 
361 
362 
363 
373  void setAntennaId (Tag antennaId);
374 
375 
376 
377 
378 
379 
380 
381  // ===> Attribute focusModelId
382 
383 
384 
385 
386 
391  int getFocusModelId() const;
392 
393 
394 
395 
403  void setFocusModelId (int focusModelId);
404 
405 
406 
407 
408 
409 
411  // Links //
413 
414 
415 
416 
417 
425 
426 
427 
428 
429 
430 
431 
432 
433  // ===> Slice link from a row of Focus table to a collection of row of FocusModel table.
434 
440  std::vector <FocusModelRow *> getFocusModels();
441 
442 
443 
444 
445 
446 
447 
448 
466  bool compareNoAutoInc(Tag antennaId, ArrayTimeInterval timeInterval, bool focusTracking, std::vector<Length > focusOffset, std::vector<Angle > focusRotationOffset, int focusModelId);
467 
468 
469 
470 
484  bool compareRequiredValue(bool focusTracking, std::vector<Length > focusOffset, std::vector<Angle > focusRotationOffset, int focusModelId);
485 
486 
495  bool equalByRequiredValue(FocusRow* x) ;
496 
497 #ifndef WITHOUT_ACS
498 
502  asdmIDL::FocusRowIDL *toIDL() const;
503 
511  void toIDL(asdmIDL::FocusRowIDL& x) const;
512 #endif
513 
514 #ifndef WITHOUT_ACS
515 
520  void setFromIDL (asdmIDL::FocusRowIDL x) ;
521 #endif
522 
527  std::string toXML() const;
528 
535  void setFromXML (std::string rowDoc) ;
536 
539  // binary-deserialization material from an EndianIStream //
541 
542  std::map<std::string, FocusAttributeFromBin> fromBinMethods;
543 void antennaIdFromBin( EndianIStream& eis);
549 
552 
553 
561  static FocusRow* fromBin(EndianIStream& eis, FocusTable& table, const std::vector<std::string>& attributesSeq);
562 
569  void fromText(const std::string& attributeName, const std::string& t);
571 
572 private:
581 
582  // This method is used by the Table class when this row is added to the table.
583  void isAdded(bool added);
584 
585 
595 
614 
616  // Intrinsic Table Attributes //
618 
619 
620  // ===> Attribute timeInterval
621 
622 
623 
624  ArrayTimeInterval timeInterval;
625 
626 
627 
628 
629 
630 
631  // ===> Attribute focusTracking
632 
633 
634 
636 
637 
638 
639 
640 
641 
642  // ===> Attribute focusOffset
643 
644 
645 
646  std::vector<Length > focusOffset;
647 
648 
649 
650 
651 
652 
653  // ===> Attribute focusRotationOffset
654 
655 
656 
657  std::vector<Angle > focusRotationOffset;
658 
659 
660 
661 
662 
663 
664  // ===> Attribute measuredFocusPosition, which is optional
665 
666 
668 
669 
670  std::vector<Length > measuredFocusPosition;
671 
672 
673 
674 
675 
676 
677  // ===> Attribute measuredFocusRotation, which is optional
678 
679 
681 
682 
683  std::vector<Angle > measuredFocusRotation;
684 
685 
686 
687 
688 
690  // Extrinsic Table Attributes //
692 
693 
694  // ===> Attribute antennaId
695 
696 
697 
698  Tag antennaId;
699 
700 
701 
702 
703 
704 
705  // ===> Attribute focusModelId
706 
707 
708 
710 
711 
712 
713 
714 
716  // Links //
718 
719 
720 
721 
722 
723 
724 
725 
726 
727 
728 
729 
730 
731 
732 
733 /*
735  // binary-deserialization material from an EndianIStream //
737  std::map<std::string, FocusAttributeFromBin> fromBinMethods;
738 void antennaIdFromBin( EndianIStream& eis);
739 void timeIntervalFromBin( EndianIStream& eis);
740 void focusTrackingFromBin( EndianIStream& eis);
741 void focusOffsetFromBin( EndianIStream& eis);
742 void focusRotationOffsetFromBin( EndianIStream& eis);
743 void focusModelIdFromBin( EndianIStream& eis);
744 
745 void measuredFocusPositionFromBin( EndianIStream& eis);
746 void measuredFocusRotationFromBin( EndianIStream& eis);
747 
748 */
749 
751  // text-deserialization material //
753  std::map<std::string, FocusAttributeFromText> fromTextMethods;
754 
755 void antennaIdFromText (const std::string & s);
756 
757 
758 void timeIntervalFromText (const std::string & s);
759 
760 
761 void focusTrackingFromText (const std::string & s);
762 
763 
764 void focusOffsetFromText (const std::string & s);
765 
766 
767 void focusRotationOffsetFromText (const std::string & s);
768 
769 
770 void focusModelIdFromText (const std::string & s);
771 
772 
773 
774 void measuredFocusPositionFromText (const std::string & s);
775 
776 
777 void measuredFocusRotationFromText (const std::string & s);
778 
779 
780 
785  void toBin(EndianOSStream& eoss);
786 
796 };
797 
798 } // End namespace asdm
799 
800 #endif /* Focus_CLASS */
std::vector< Angle > getFocusRotationOffset() const
===&gt; Attribute focusRotationOffset
FocusTable & getTable() const
Return the table to which this row belongs.
std::string toXML() const
Return this row in the form of an XML string.
void clearMeasuredFocusPosition()
Mark measuredFocusPosition, which is an optional field, as non-existent.
void setFocusModelId(int focusModelId)
Set focusModelId with the specified int.
std::vector< Length > getMeasuredFocusPosition() const
Get measuredFocusPosition, which is optional.
void focusOffsetFromBin(EndianIStream &eis)
void setFocusRotationOffset(std::vector< Angle > focusRotationOffset)
Set focusRotationOffset with the specified std::vector&lt;Angle &gt;.
void clearMeasuredFocusRotation()
Mark measuredFocusRotation, which is an optional field, as non-existent.
bool compareRequiredValue(bool focusTracking, std::vector< Length > focusOffset, std::vector< Angle > focusRotationOffset, int focusModelId)
Compare each mandatory value (i.e.
The FocusTable class is an Alma table.
Definition: FocusTable.h:185
void setMeasuredFocusPosition(std::vector< Length > measuredFocusPosition)
Set measuredFocusPosition with the specified std::vector&lt;Length &gt;.
The ArrayTimeInterval class aggregates an instance of ArrayTime and an instance of Interval...
int getFocusModelId() const
===&gt; Attribute focusModelId
void focusRotationOffsetFromText(const std::string &s)
bool equalByRequiredValue(FocusRow *x)
Return true if all required attributes of the value part are equal to their homologues in x and false...
void measuredFocusRotationFromText(const std::string &s)
void(FocusRow::* FocusAttributeFromBin)(EndianIStream &eis)
Definition: FocusRow.h:107
*text deserialization material std::map< std::string, FocusAttributeFromText > fromTextMethods
Definition: FocusRow.h:753
std::vector< Angle > getMeasuredFocusRotation() const
Get measuredFocusRotation, which is optional.
bool measuredFocusRotationExists
===&gt; Attribute measuredFocusRotation, which is optional
Definition: FocusRow.h:680
The FocusRow class is a row of a FocusTable.
Definition: FocusRow.h:116
void focusModelIdFromText(const std::string &s)
void focusTrackingFromBin(EndianIStream &eis)
std::vector< Angle > focusRotationOffset
===&gt; Attribute focusRotationOffset
Definition: FocusRow.h:657
void focusTrackingFromText(const std::string &s)
std::vector< Angle > measuredFocusRotation
Definition: FocusRow.h:683
std::vector< Length > focusOffset
===&gt; Attribute focusOffset
Definition: FocusRow.h:646
void setFocusTracking(bool focusTracking)
Set focusTracking with the specified bool.
bool compareNoAutoInc(Tag antennaId, ArrayTimeInterval timeInterval, bool focusTracking, std::vector< Length > focusOffset, std::vector< Angle > focusRotationOffset, int focusModelId)
Compare each mandatory attribute except the autoincrementable one of this FocusRow with the correspon...
void focusModelIdFromBin(EndianIStream &eis)
void focusRotationOffsetFromBin(EndianIStream &eis)
FocusRow(FocusTable &table)
Create a FocusRow.
void setFocusOffset(std::vector< Length > focusOffset)
Set focusOffset with the specified std::vector&lt;Length &gt;.
std::vector< Length > getFocusOffset() const
===&gt; Attribute focusOffset
void toBin(EndianOSStream &eoss)
Serialize this into a stream of bytes written to an EndianOSStream.
void setTimeInterval(ArrayTimeInterval timeInterval)
Set timeInterval with the specified ArrayTimeInterval.
void focusOffsetFromText(const std::string &s)
std::vector< FocusModelRow * > getFocusModels()
===&gt; Slice link from a row of Focus table to a collection of row of FocusModel table.
void timeIntervalFromText(const std::string &s)
FocusTable & table
The table to which this row belongs.
Definition: FocusRow.h:576
asdmIDL::FocusRowIDL * toIDL() const
Return this row in the form of an IDL struct.
The AntennaRow class is a row of a AntennaTable.
Definition: AntennaRow.h:120
void timeIntervalFromBin(EndianIStream &eis)
bool focusTracking
===&gt; Attribute focusTracking
Definition: FocusRow.h:635
bool getFocusTracking() const
===&gt; Attribute focusTracking
void setFromXML(std::string rowDoc)
Fill the values of this row from an XML string that was produced by the toXML() method.
void antennaIdFromBin(EndianIStream &eis)
void setAntennaId(Tag antennaId)
Set antennaId with the specified Tag.
The Tag class is an implementation of a unique index identifying a row of an ASDM table...
Definition: Tag.h:73
int focusModelId
===&gt; Attribute focusModelId
Definition: FocusRow.h:709
void measuredFocusPositionFromBin(EndianIStream &eis)
void setFromIDL(asdmIDL::FocusRowIDL x)
Fill the values of this row from the IDL struct FocusRowIDL.
virtual ~FocusRow()
friend class asdm::TableStreamReader&lt;FocusTable, FocusRow&gt;;
Links *AntennaRow * getAntennaUsingAntennaId()
antennaId pointer to the row in the Antenna table having Antenna.antennaId == antennaId ...
void measuredFocusPositionFromText(const std::string &s)
bool hasBeenAdded
Whether this row has been added to the table or not.
Definition: FocusRow.h:580
bool isMeasuredFocusPositionExists() const
===&gt; Attribute measuredFocusPosition, which is optional
void setMeasuredFocusRotation(std::vector< Angle > measuredFocusRotation)
Set measuredFocusRotation with the specified std::vector&lt;Angle &gt;.
bool isMeasuredFocusRotationExists() const
===&gt; Attribute measuredFocusRotation, which is optional
std::vector< Length > measuredFocusPosition
Definition: FocusRow.h:670
Links *binary deserialization material from an EndianIStream std::map< std::string, FocusAttributeFromBin > fromBinMethods
Definition: FocusRow.h:737
bool measuredFocusPositionExists
===&gt; Attribute measuredFocusPosition, which is optional
Definition: FocusRow.h:667
void(FocusRow::* FocusAttributeFromText)(const std::string &s)
Definition: FocusRow.h:108
bool isAdded() const
Has this row been added to its table ?
void antennaIdFromText(const std::string &s)
void measuredFocusRotationFromBin(EndianIStream &eis)