casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
WVMCalRow.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 WVMCalRow.h
32  */
33 
34 #ifndef WVMCalRow_CLASS
35 #define WVMCalRow_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/Temperature.h>
56 
57 
58 
59 #include <alma/ASDM/Frequency.h>
60 
61 
62 
63 #include <alma/ASDM/Tag.h>
64 
65 
66 
67 
68 
69 
70 
71 
73 
74 
75 
76 
77 
78 
79 
80 
81 
82 
83 
84 
85 
86 
87 
88 
90 #include <alma/ASDM/NoSuchRow.h>
92 
94 //#include <alma/ASDM/TableStreamReader.h>
95 
96 /*\file WVMCal.h
97  \brief Generated from model's revision "-1", branch ""
98 */
99 
100 namespace asdm {
101 
102 //class asdm::WVMCalTable;
103 
104 
105 // class asdm::SpectralWindowRow;
106 class SpectralWindowRow;
107 
108 // class asdm::AntennaRow;
109 class AntennaRow;
110 
111 // class asdm::AntennaRow;
112 class AntennaRow;
113 
114 
115 class WVMCalRow;
117 typedef void (WVMCalRow::*WVMCalAttributeFromText) (const std::string& s);
118 
125 class WVMCalRow {
126 friend class asdm::WVMCalTable;
128 //friend class asdm::TableStreamReader<WVMCalTable, WVMCalRow>;
129 
130 public:
131 
132  virtual ~WVMCalRow();
133 
137  WVMCalTable &getTable() const;
138 
143  bool isAdded() const;
144 
146  // Intrinsic Table Attributes //
148 
149 
150  // ===> Attribute timeInterval
151 
152 
153 
154 
155 
160  ArrayTimeInterval getTimeInterval() const;
161 
162 
163 
164 
174  void setTimeInterval (ArrayTimeInterval timeInterval);
175 
176 
177 
178 
179 
180 
181 
182  // ===> Attribute wvrMethod
183 
184 
185 
186 
187 
192  WVRMethodMod::WVRMethod getWvrMethod() const;
193 
194 
195 
196 
204  void setWvrMethod (WVRMethodMod::WVRMethod wvrMethod);
205 
206 
207 
208 
209 
210 
211 
212  // ===> Attribute polyFreqLimits
213 
214 
215 
216 
217 
222  std::vector<Frequency > getPolyFreqLimits() const;
223 
224 
225 
226 
234  void setPolyFreqLimits (std::vector<Frequency > polyFreqLimits);
235 
236 
237 
238 
239 
240 
241 
242  // ===> Attribute numInputAntenna
243 
244 
245 
246 
247 
252  int getNumInputAntenna() const;
253 
254 
255 
256 
265 
266 
267 
268 
269 
270 
271 
272  // ===> Attribute numChan
273 
274 
275 
276 
277 
282  int getNumChan() const;
283 
284 
285 
286 
294  void setNumChan (int numChan);
295 
296 
297 
298 
299 
300 
301 
302  // ===> Attribute numPoly
303 
304 
305 
306 
307 
312  int getNumPoly() const;
313 
314 
315 
316 
324  void setNumPoly (int numPoly);
325 
326 
327 
328 
329 
330 
331 
332  // ===> Attribute pathCoeff
333 
334 
335 
336 
337 
342  std::vector<std::vector<std::vector<float > > > getPathCoeff() const;
343 
344 
345 
346 
354  void setPathCoeff (std::vector<std::vector<std::vector<float > > > pathCoeff);
355 
356 
357 
358 
359 
360 
361 
362  // ===> Attribute refTemp
363 
364 
365 
366 
367 
372  std::vector<std::vector<Temperature > > getRefTemp() const;
373 
374 
375 
376 
384  void setRefTemp (std::vector<std::vector<Temperature > > refTemp);
385 
386 
387 
388 
389 
390 
392  // Extrinsic Table Attributes //
394 
395 
396  // ===> Attribute antennaId
397 
398 
399 
400 
401 
406  Tag getAntennaId() const;
407 
408 
409 
410 
420  void setAntennaId (Tag antennaId);
421 
422 
423 
424 
425 
426 
427 
428  // ===> Attribute inputAntennaId
429 
430 
431 
432 
433 
438  std::vector<Tag> getInputAntennaId() const;
439 
440 
441 
442 
450  void setInputAntennaId (std::vector<Tag> inputAntennaId);
451 
452 
453 
454 
455 
456 
457 
458  // ===> Attribute spectralWindowId
459 
460 
461 
462 
463 
468  Tag getSpectralWindowId() const;
469 
470 
471 
472 
483 
484 
485 
486 
487 
488 
490  // Links //
492 
493 
494 
495 
496 
504 
505 
506 
507 
508 
509 
510 
511 
519 
520 
521 
522 
523 
524 
532  void setInputAntennaId (int i, Tag inputAntennaId);
533 
534 
535 
536 
537 
542  void addInputAntennaId(Tag id);
543 
548  void addInputAntennaId(const std::vector<Tag> & id);
549 
550 
556  const Tag getInputAntennaId(int i);
557 
566 
571  std::vector<AntennaRow *> getAntennasUsingInputAntennaId();
572 
573 
574 
575 
576 
577 
578 
606  bool compareNoAutoInc(Tag antennaId, Tag spectralWindowId, ArrayTimeInterval timeInterval, WVRMethodMod::WVRMethod wvrMethod, std::vector<Frequency > polyFreqLimits, int numInputAntenna, int numChan, int numPoly, std::vector<std::vector<std::vector<float > > > pathCoeff, std::vector<std::vector<Temperature > > refTemp, std::vector<Tag> inputAntennaId);
607 
608 
609 
610 
632  bool compareRequiredValue(WVRMethodMod::WVRMethod wvrMethod, std::vector<Frequency > polyFreqLimits, int numInputAntenna, int numChan, int numPoly, std::vector<std::vector<std::vector<float > > > pathCoeff, std::vector<std::vector<Temperature > > refTemp, std::vector<Tag> inputAntennaId);
633 
634 
644 
645 #ifndef WITHOUT_ACS
646 
650  asdmIDL::WVMCalRowIDL *toIDL() const;
651 
659  void toIDL(asdmIDL::WVMCalRowIDL& x) const;
660 #endif
661 
662 #ifndef WITHOUT_ACS
663 
668  void setFromIDL (asdmIDL::WVMCalRowIDL x) ;
669 #endif
670 
675  std::string toXML() const;
676 
683  void setFromXML (std::string rowDoc) ;
684 
687  // binary-deserialization material from an EndianIStream //
689 
690  std::map<std::string, WVMCalAttributeFromBin> fromBinMethods;
691 void antennaIdFromBin( EndianIStream& eis);
694 void wvrMethodFromBin( EndianIStream& eis);
697 void numChanFromBin( EndianIStream& eis);
698 void numPolyFromBin( EndianIStream& eis);
699 void pathCoeffFromBin( EndianIStream& eis);
700 void refTempFromBin( EndianIStream& eis);
702 
703 
704 
712  static WVMCalRow* fromBin(EndianIStream& eis, WVMCalTable& table, const std::vector<std::string>& attributesSeq);
713 
720  void fromText(const std::string& attributeName, const std::string& t);
722 
723 private:
732 
733  // This method is used by the Table class when this row is added to the table.
734  void isAdded(bool added);
735 
736 
746 
765 
767  // Intrinsic Table Attributes //
769 
770 
771  // ===> Attribute timeInterval
772 
773 
774 
775  ArrayTimeInterval timeInterval;
776 
777 
778 
779 
780 
781 
782  // ===> Attribute wvrMethod
783 
784 
785 
786  WVRMethodMod::WVRMethod wvrMethod;
787 
788 
789 
790 
791 
792 
793  // ===> Attribute polyFreqLimits
794 
795 
796 
797  std::vector<Frequency > polyFreqLimits;
798 
799 
800 
801 
802 
803 
804  // ===> Attribute numInputAntenna
805 
806 
807 
809 
810 
811 
812 
813 
814 
815  // ===> Attribute numChan
816 
817 
818 
819  int numChan;
820 
821 
822 
823 
824 
825 
826  // ===> Attribute numPoly
827 
828 
829 
830  int numPoly;
831 
832 
833 
834 
835 
836 
837  // ===> Attribute pathCoeff
838 
839 
840 
841  std::vector<std::vector<std::vector<float > > > pathCoeff;
842 
843 
844 
845 
846 
847 
848  // ===> Attribute refTemp
849 
850 
851 
852  std::vector<std::vector<Temperature > > refTemp;
853 
854 
855 
856 
857 
859  // Extrinsic Table Attributes //
861 
862 
863  // ===> Attribute antennaId
864 
865 
866 
867  Tag antennaId;
868 
869 
870 
871 
872 
873 
874  // ===> Attribute inputAntennaId
875 
876 
877 
878  std::vector<Tag> inputAntennaId;
879 
880 
881 
882 
883 
884 
885  // ===> Attribute spectralWindowId
886 
887 
888 
890 
891 
892 
893 
894 
896  // Links //
898 
899 
900 
901 
902 
903 
904 
905 
906 
907 
908 
909 
910 
911 
912 
913 
914 
915 
916 
917 
918 
919 
920 /*
922  // binary-deserialization material from an EndianIStream //
924  std::map<std::string, WVMCalAttributeFromBin> fromBinMethods;
925 void antennaIdFromBin( EndianIStream& eis);
926 void spectralWindowIdFromBin( EndianIStream& eis);
927 void timeIntervalFromBin( EndianIStream& eis);
928 void wvrMethodFromBin( EndianIStream& eis);
929 void polyFreqLimitsFromBin( EndianIStream& eis);
930 void numInputAntennaFromBin( EndianIStream& eis);
931 void numChanFromBin( EndianIStream& eis);
932 void numPolyFromBin( EndianIStream& eis);
933 void pathCoeffFromBin( EndianIStream& eis);
934 void refTempFromBin( EndianIStream& eis);
935 void inputAntennaIdFromBin( EndianIStream& eis);
936 
937 
938 */
939 
941  // text-deserialization material //
943  std::map<std::string, WVMCalAttributeFromText> fromTextMethods;
944 
945 void antennaIdFromText (const std::string & s);
946 
947 
948 void spectralWindowIdFromText (const std::string & s);
949 
950 
951 void timeIntervalFromText (const std::string & s);
952 
953 
954 void wvrMethodFromText (const std::string & s);
955 
956 
957 void polyFreqLimitsFromText (const std::string & s);
958 
959 
960 void numInputAntennaFromText (const std::string & s);
961 
962 
963 void numChanFromText (const std::string & s);
964 
965 
966 void numPolyFromText (const std::string & s);
967 
968 
969 void pathCoeffFromText (const std::string & s);
970 
971 
972 void refTempFromText (const std::string & s);
973 
974 
975 void inputAntennaIdFromText (const std::string & s);
976 
977 
978 
979 
984  void toBin(EndianOSStream& eoss);
985 
995 };
996 
997 } // End namespace asdm
998 
999 #endif /* WVMCal_CLASS */
std::vector< Tag > inputAntennaId
===&gt; Attribute inputAntennaId
Definition: WVMCalRow.h:878
void setWvrMethod(WVRMethodMod::WVRMethod wvrMethod)
Set wvrMethod with the specified WVRMethodMod::WVRMethod.
void inputAntennaIdFromText(const std::string &s)
Tag spectralWindowId
===&gt; Attribute spectralWindowId
Definition: WVMCalRow.h:889
void setNumChan(int numChan)
Set numChan with the specified int.
std::vector< Frequency > polyFreqLimits
===&gt; Attribute polyFreqLimits
Definition: WVMCalRow.h:797
WVMCalTable & getTable() const
Return the table to which this row belongs.
std::string toXML() const
Return this row in the form of an XML string.
std::vector< std::vector< Temperature > > refTemp
===&gt; Attribute refTemp
Definition: WVMCalRow.h:852
void refTempFromText(const std::string &s)
void setFromXML(std::string rowDoc)
Fill the values of this row from an XML string that was produced by the toXML() method.
WVMCalTable & table
The table to which this row belongs.
Definition: WVMCalRow.h:727
void polyFreqLimitsFromBin(EndianIStream &eis)
int getNumPoly() const
===&gt; Attribute numPoly
The ArrayTimeInterval class aggregates an instance of ArrayTime and an instance of Interval...
virtual ~WVMCalRow()
friend class asdm::TableStreamReader&lt;WVMCalTable, WVMCalRow&gt;;
void spectralWindowIdFromBin(EndianIStream &eis)
WVMCalRow(WVMCalTable &table)
Create a WVMCalRow.
void inputAntennaIdFromBin(EndianIStream &eis)
void timeIntervalFromBin(EndianIStream &eis)
WVRMethodMod::WVRMethod getWvrMethod() const
===&gt; Attribute wvrMethod
bool hasBeenAdded
Whether this row has been added to the table or not.
Definition: WVMCalRow.h:731
void numInputAntennaFromBin(EndianIStream &eis)
int numPoly
===&gt; Attribute numPoly
Definition: WVMCalRow.h:830
void refTempFromBin(EndianIStream &eis)
void setSpectralWindowId(Tag spectralWindowId)
Set spectralWindowId with the specified Tag.
Links *SpectralWindowRow * getSpectralWindowUsingSpectralWindowId()
spectralWindowId pointer to the row in the SpectralWindow table having SpectralWindow.spectralWindowId == spectralWindowId
bool isAdded() const
Has this row been added to its table ?
The WVMCalRow class is a row of a WVMCalTable.
Definition: WVMCalRow.h:125
void timeIntervalFromText(const std::string &s)
void setNumPoly(int numPoly)
Set numPoly with the specified int.
void numChanFromText(const std::string &s)
void setPolyFreqLimits(std::vector< Frequency > polyFreqLimits)
Set polyFreqLimits with the specified std::vector&lt;Frequency &gt;.
void spectralWindowIdFromText(const std::string &s)
void(WVMCalRow::* WVMCalAttributeFromBin)(EndianIStream &eis)
Definition: WVMCalRow.h:116
*text deserialization material std::map< std::string, WVMCalAttributeFromText > fromTextMethods
Definition: WVMCalRow.h:943
void wvrMethodFromBin(EndianIStream &eis)
asdmIDL::WVMCalRowIDL * toIDL() const
Return this row in the form of an IDL struct.
void antennaIdFromText(const std::string &s)
WVRMethodMod::WVRMethod wvrMethod
===&gt; Attribute wvrMethod
Definition: WVMCalRow.h:786
The WVMCalTable class is an Alma table.
Definition: WVMCalTable.h:211
int getNumInputAntenna() const
===&gt; Attribute numInputAntenna
std::vector< std::vector< std::vector< float > > > getPathCoeff() const
===&gt; Attribute pathCoeff
void numInputAntennaFromText(const std::string &s)
void pathCoeffFromText(const std::string &s)
The AntennaRow class is a row of a AntennaTable.
Definition: AntennaRow.h:120
std::vector< std::vector< Temperature > > getRefTemp() const
===&gt; Attribute refTemp
void addInputAntennaId(Tag id)
Append a Tag to inputAntennaId.
void numPolyFromBin(EndianIStream &eis)
void toBin(EndianOSStream &eoss)
Serialize this into a stream of bytes written to an EndianOSStream.
bool equalByRequiredValue(WVMCalRow *x)
Return true if all required attributes of the value part are equal to their homologues in x and false...
void numChanFromBin(EndianIStream &eis)
void(WVMCalRow::* WVMCalAttributeFromText)(const std::string &s)
Definition: WVMCalRow.h:117
void setInputAntennaId(std::vector< Tag > inputAntennaId)
Set inputAntennaId with the specified std::vector&lt;Tag&gt; .
AntennaRow * getAntennaUsingAntennaId()
antennaId pointer to the row in the Antenna table having Antenna.antennaId == antennaId ...
std::vector< Frequency > getPolyFreqLimits() const
===&gt; Attribute polyFreqLimits
bool compareNoAutoInc(Tag antennaId, Tag spectralWindowId, ArrayTimeInterval timeInterval, WVRMethodMod::WVRMethod wvrMethod, std::vector< Frequency > polyFreqLimits, int numInputAntenna, int numChan, int numPoly, std::vector< std::vector< std::vector< float > > > pathCoeff, std::vector< std::vector< Temperature > > refTemp, std::vector< Tag > inputAntennaId)
Compare each mandatory attribute except the autoincrementable one of this WVMCalRow with the correspo...
std::vector< Tag > getInputAntennaId() const
===&gt; Attribute inputAntennaId
The Tag class is an implementation of a unique index identifying a row of an ASDM table...
Definition: Tag.h:73
void setNumInputAntenna(int numInputAntenna)
Set numInputAntenna with the specified int.
void wvrMethodFromText(const std::string &s)
int numChan
===&gt; Attribute numChan
Definition: WVMCalRow.h:819
int getNumChan() const
===&gt; Attribute numChan
void setFromIDL(asdmIDL::WVMCalRowIDL x)
Fill the values of this row from the IDL struct WVMCalRowIDL.
void setTimeInterval(ArrayTimeInterval timeInterval)
Set timeInterval with the specified ArrayTimeInterval.
void setAntennaId(Tag antennaId)
Set antennaId with the specified Tag.
bool compareRequiredValue(WVRMethodMod::WVRMethod wvrMethod, std::vector< Frequency > polyFreqLimits, int numInputAntenna, int numChan, int numPoly, std::vector< std::vector< std::vector< float > > > pathCoeff, std::vector< std::vector< Temperature > > refTemp, std::vector< Tag > inputAntennaId)
Compare each mandatory value (i.e.
void polyFreqLimitsFromText(const std::string &s)
AntennaRow * getAntennaUsingInputAntennaId(int i)
Returns the AntennaRow linked to this row via the tag stored in inputAntennaId at position i...
std::vector< AntennaRow * > getAntennasUsingInputAntennaId()
Returns the vector of AntennaRow* linked to this row via the Tags stored in inputAntennaId.
int numInputAntenna
===&gt; Attribute numInputAntenna
Definition: WVMCalRow.h:808
Tag getSpectralWindowId() const
===&gt; Attribute spectralWindowId
The SpectralWindowRow class is a row of a SpectralWindowTable.
void numPolyFromText(const std::string &s)
std::vector< std::vector< std::vector< float > > > pathCoeff
===&gt; Attribute pathCoeff
Definition: WVMCalRow.h:841
void setPathCoeff(std::vector< std::vector< std::vector< float > > > pathCoeff)
Set pathCoeff with the specified std::vector&lt;std::vector&lt;std::vector&lt;float &gt; &gt; &gt;. ...
void antennaIdFromBin(EndianIStream &eis)
Links *binary deserialization material from an EndianIStream std::map< std::string, WVMCalAttributeFromBin > fromBinMethods
Definition: WVMCalRow.h:924
void setRefTemp(std::vector< std::vector< Temperature > > refTemp)
Set refTemp with the specified std::vector&lt;std::vector&lt;Temperature &gt; &gt;.
void pathCoeffFromBin(EndianIStream &eis)