Line data Source code
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 FreqOffsetRow.cpp
32 : */
33 :
34 : #include <vector>
35 : #include <set>
36 :
37 : #include <alma/ASDM/ASDM.h>
38 : #include <alma/ASDM/FreqOffsetRow.h>
39 : #include <alma/ASDM/FreqOffsetTable.h>
40 :
41 : #include <alma/ASDM/AntennaTable.h>
42 : #include <alma/ASDM/AntennaRow.h>
43 :
44 : #include <alma/ASDM/SpectralWindowTable.h>
45 : #include <alma/ASDM/SpectralWindowRow.h>
46 :
47 : #include <alma/ASDM/FeedTable.h>
48 : #include <alma/ASDM/FeedRow.h>
49 :
50 :
51 : using asdm::ASDM;
52 : using asdm::FreqOffsetRow;
53 : using asdm::FreqOffsetTable;
54 :
55 : using asdm::AntennaTable;
56 : using asdm::AntennaRow;
57 :
58 : using asdm::SpectralWindowTable;
59 : using asdm::SpectralWindowRow;
60 :
61 : using asdm::FeedTable;
62 : using asdm::FeedRow;
63 :
64 :
65 : #include <alma/ASDM/Parser.h>
66 :
67 : #include <alma/ASDM/EnumerationParser.h>
68 : #include <alma/ASDM/ASDMValuesParser.h>
69 :
70 : #include <alma/ASDM/InvalidArgumentException.h>
71 :
72 : using namespace std;
73 :
74 : namespace asdm {
75 0 : FreqOffsetRow::~FreqOffsetRow() {
76 0 : }
77 :
78 : /**
79 : * Return the table to which this row belongs.
80 : */
81 0 : FreqOffsetTable &FreqOffsetRow::getTable() const {
82 0 : return table;
83 : }
84 :
85 0 : bool FreqOffsetRow::isAdded() const {
86 0 : return hasBeenAdded;
87 : }
88 :
89 0 : void FreqOffsetRow::isAdded(bool added) {
90 0 : hasBeenAdded = added;
91 0 : }
92 :
93 : #ifndef WITHOUT_ACS
94 : using asdmIDL::FreqOffsetRowIDL;
95 : #endif
96 :
97 : #ifndef WITHOUT_ACS
98 : /**
99 : * Return this row in the form of an IDL struct.
100 : * @return The values of this row as a FreqOffsetRowIDL struct.
101 : */
102 : FreqOffsetRowIDL *FreqOffsetRow::toIDL() const {
103 : FreqOffsetRowIDL *x = new FreqOffsetRowIDL ();
104 :
105 : // Fill the IDL structure.
106 :
107 :
108 :
109 :
110 :
111 :
112 :
113 : x->timeInterval = timeInterval.toIDLArrayTimeInterval();
114 :
115 :
116 :
117 :
118 :
119 :
120 :
121 :
122 :
123 : x->offset = offset.toIDLFrequency();
124 :
125 :
126 :
127 :
128 :
129 :
130 :
131 :
132 :
133 :
134 :
135 :
136 :
137 : x->antennaId = antennaId.toIDLTag();
138 :
139 :
140 :
141 :
142 :
143 :
144 :
145 :
146 :
147 :
148 :
149 : x->feedId = feedId;
150 :
151 :
152 :
153 :
154 :
155 :
156 :
157 :
158 :
159 :
160 :
161 : x->spectralWindowId = spectralWindowId.toIDLTag();
162 :
163 :
164 :
165 :
166 :
167 :
168 :
169 :
170 :
171 :
172 :
173 :
174 :
175 : return x;
176 :
177 : }
178 :
179 : void FreqOffsetRow::toIDL(asdmIDL::FreqOffsetRowIDL& x) const {
180 : // Set the x's fields.
181 :
182 :
183 :
184 :
185 :
186 :
187 :
188 : x.timeInterval = timeInterval.toIDLArrayTimeInterval();
189 :
190 :
191 :
192 :
193 :
194 :
195 :
196 :
197 :
198 : x.offset = offset.toIDLFrequency();
199 :
200 :
201 :
202 :
203 :
204 :
205 :
206 :
207 :
208 :
209 :
210 :
211 :
212 : x.antennaId = antennaId.toIDLTag();
213 :
214 :
215 :
216 :
217 :
218 :
219 :
220 :
221 :
222 :
223 :
224 : x.feedId = feedId;
225 :
226 :
227 :
228 :
229 :
230 :
231 :
232 :
233 :
234 :
235 :
236 : x.spectralWindowId = spectralWindowId.toIDLTag();
237 :
238 :
239 :
240 :
241 :
242 :
243 :
244 :
245 :
246 :
247 :
248 :
249 :
250 : }
251 : #endif
252 :
253 :
254 : #ifndef WITHOUT_ACS
255 : /**
256 : * Fill the values of this row from the IDL struct FreqOffsetRowIDL.
257 : * @param x The IDL struct containing the values used to fill this row.
258 : */
259 : void FreqOffsetRow::setFromIDL (FreqOffsetRowIDL x){
260 : try {
261 : // Fill the values from x.
262 :
263 :
264 :
265 :
266 :
267 :
268 : setTimeInterval(ArrayTimeInterval (x.timeInterval));
269 :
270 :
271 :
272 :
273 :
274 :
275 :
276 :
277 :
278 : setOffset(Frequency (x.offset));
279 :
280 :
281 :
282 :
283 :
284 :
285 :
286 :
287 :
288 :
289 :
290 :
291 : setAntennaId(Tag (x.antennaId));
292 :
293 :
294 :
295 :
296 :
297 :
298 :
299 :
300 :
301 : setFeedId(x.feedId);
302 :
303 :
304 :
305 :
306 :
307 :
308 :
309 :
310 :
311 : setSpectralWindowId(Tag (x.spectralWindowId));
312 :
313 :
314 :
315 :
316 :
317 :
318 :
319 :
320 :
321 :
322 :
323 :
324 :
325 : } catch (const IllegalAccessException &err) {
326 : throw ConversionException (err.getMessage(),"FreqOffset");
327 : }
328 : }
329 : #endif
330 :
331 : /**
332 : * Return this row in the form of an XML string.
333 : * @return The values of this row as an XML string.
334 : */
335 0 : string FreqOffsetRow::toXML() const {
336 0 : string buf;
337 0 : buf.append("<row> \n");
338 :
339 :
340 :
341 :
342 :
343 :
344 0 : Parser::toXML(timeInterval, "timeInterval", buf);
345 :
346 :
347 :
348 :
349 :
350 :
351 :
352 0 : Parser::toXML(offset, "offset", buf);
353 :
354 :
355 :
356 :
357 :
358 :
359 :
360 :
361 :
362 :
363 0 : Parser::toXML(antennaId, "antennaId", buf);
364 :
365 :
366 :
367 :
368 :
369 :
370 :
371 0 : Parser::toXML(feedId, "feedId", buf);
372 :
373 :
374 :
375 :
376 :
377 :
378 :
379 0 : Parser::toXML(spectralWindowId, "spectralWindowId", buf);
380 :
381 :
382 :
383 :
384 :
385 :
386 :
387 :
388 :
389 :
390 :
391 :
392 :
393 0 : buf.append("</row>\n");
394 0 : return buf;
395 0 : }
396 :
397 : /**
398 : * Fill the values of this row from an XML string
399 : * that was produced by the toXML() method.
400 : * @param x The XML string being used to set the values of this row.
401 : */
402 0 : void FreqOffsetRow::setFromXML (string rowDoc) {
403 0 : Parser row(rowDoc);
404 0 : string s = "";
405 : try {
406 :
407 :
408 :
409 :
410 :
411 0 : setTimeInterval(Parser::getArrayTimeInterval("timeInterval","FreqOffset",rowDoc));
412 :
413 :
414 :
415 :
416 :
417 :
418 :
419 0 : setOffset(Parser::getFrequency("offset","FreqOffset",rowDoc));
420 :
421 :
422 :
423 :
424 :
425 :
426 :
427 :
428 :
429 :
430 0 : setAntennaId(Parser::getTag("antennaId","Antenna",rowDoc));
431 :
432 :
433 :
434 :
435 :
436 :
437 :
438 0 : setFeedId(Parser::getInteger("feedId","Feed",rowDoc));
439 :
440 :
441 :
442 :
443 :
444 :
445 :
446 0 : setSpectralWindowId(Parser::getTag("spectralWindowId","SpectralWindow",rowDoc));
447 :
448 :
449 :
450 :
451 :
452 :
453 :
454 :
455 :
456 :
457 :
458 :
459 0 : } catch (const IllegalAccessException &err) {
460 0 : throw ConversionException (err.getMessage(),"FreqOffset");
461 0 : }
462 0 : }
463 :
464 0 : void FreqOffsetRow::toBin(EndianOSStream& eoss) {
465 :
466 :
467 :
468 :
469 :
470 0 : antennaId.toBin(eoss);
471 :
472 :
473 :
474 :
475 :
476 :
477 0 : spectralWindowId.toBin(eoss);
478 :
479 :
480 :
481 :
482 :
483 :
484 0 : timeInterval.toBin(eoss);
485 :
486 :
487 :
488 :
489 :
490 :
491 :
492 0 : eoss.writeInt(feedId);
493 :
494 :
495 :
496 :
497 :
498 :
499 :
500 0 : offset.toBin(eoss);
501 :
502 :
503 :
504 :
505 :
506 :
507 0 : }
508 :
509 0 : void FreqOffsetRow::antennaIdFromBin(EndianIStream& eis) {
510 :
511 :
512 :
513 :
514 0 : antennaId = Tag::fromBin(eis);
515 :
516 :
517 :
518 0 : }
519 0 : void FreqOffsetRow::spectralWindowIdFromBin(EndianIStream& eis) {
520 :
521 :
522 :
523 :
524 0 : spectralWindowId = Tag::fromBin(eis);
525 :
526 :
527 :
528 0 : }
529 0 : void FreqOffsetRow::timeIntervalFromBin(EndianIStream& eis) {
530 :
531 :
532 :
533 :
534 0 : timeInterval = ArrayTimeInterval::fromBin(eis);
535 :
536 :
537 :
538 0 : }
539 0 : void FreqOffsetRow::feedIdFromBin(EndianIStream& eis) {
540 :
541 :
542 :
543 :
544 :
545 0 : feedId = eis.readInt();
546 :
547 :
548 :
549 :
550 0 : }
551 0 : void FreqOffsetRow::offsetFromBin(EndianIStream& eis) {
552 :
553 :
554 :
555 :
556 0 : offset = Frequency::fromBin(eis);
557 :
558 :
559 :
560 0 : }
561 :
562 :
563 :
564 0 : FreqOffsetRow* FreqOffsetRow::fromBin(EndianIStream& eis, FreqOffsetTable& table, const vector<string>& attributesSeq) {
565 0 : FreqOffsetRow* row = new FreqOffsetRow(table);
566 :
567 0 : map<string, FreqOffsetAttributeFromBin>::iterator iter ;
568 0 : for (unsigned int i = 0; i < attributesSeq.size(); i++) {
569 0 : iter = row->fromBinMethods.find(attributesSeq.at(i));
570 0 : if (iter != row->fromBinMethods.end()) {
571 0 : (row->*(row->fromBinMethods[ attributesSeq.at(i) ] ))(eis);
572 : }
573 : else {
574 0 : BinaryAttributeReaderFunctor* functorP = table.getUnknownAttributeBinaryReader(attributesSeq.at(i));
575 0 : if (functorP)
576 0 : (*functorP)(eis);
577 : else
578 0 : throw ConversionException("There is not method to read an attribute '"+attributesSeq.at(i)+"'.", "FreqOffsetTable");
579 : }
580 :
581 : }
582 0 : return row;
583 : }
584 :
585 : //
586 : // A collection of methods to set the value of the attributes from their textual value in the XML representation
587 : // of one row.
588 : //
589 :
590 : // Convert a string into an Tag
591 0 : void FreqOffsetRow::antennaIdFromText(const string & s) {
592 :
593 :
594 0 : antennaId = ASDMValuesParser::parse<Tag>(s);
595 :
596 :
597 0 : }
598 :
599 :
600 : // Convert a string into an Tag
601 0 : void FreqOffsetRow::spectralWindowIdFromText(const string & s) {
602 :
603 :
604 0 : spectralWindowId = ASDMValuesParser::parse<Tag>(s);
605 :
606 :
607 0 : }
608 :
609 :
610 : // Convert a string into an ArrayTimeInterval
611 0 : void FreqOffsetRow::timeIntervalFromText(const string & s) {
612 :
613 :
614 0 : timeInterval = ASDMValuesParser::parse<ArrayTimeInterval>(s);
615 :
616 :
617 0 : }
618 :
619 :
620 : // Convert a string into an int
621 0 : void FreqOffsetRow::feedIdFromText(const string & s) {
622 :
623 :
624 0 : feedId = ASDMValuesParser::parse<int>(s);
625 :
626 :
627 0 : }
628 :
629 :
630 : // Convert a string into an Frequency
631 0 : void FreqOffsetRow::offsetFromText(const string & s) {
632 :
633 :
634 0 : offset = ASDMValuesParser::parse<Frequency>(s);
635 :
636 :
637 0 : }
638 :
639 :
640 :
641 :
642 0 : void FreqOffsetRow::fromText(const std::string& attributeName, const std::string& t) {
643 0 : map<string, FreqOffsetAttributeFromText>::iterator iter;
644 0 : if ((iter = fromTextMethods.find(attributeName)) == fromTextMethods.end())
645 0 : throw ConversionException("I do not know what to do with '"+attributeName+"' and its content '"+t+"' (while parsing an XML document)", "FreqOffsetTable");
646 0 : (this->*(iter->second))(t);
647 0 : }
648 :
649 : ////////////////////////////////////////////////
650 : // Intrinsic Table Attributes getters/setters //
651 : ////////////////////////////////////////////////
652 :
653 :
654 :
655 :
656 : /**
657 : * Get timeInterval.
658 : * @return timeInterval as ArrayTimeInterval
659 : */
660 0 : ArrayTimeInterval FreqOffsetRow::getTimeInterval() const {
661 :
662 0 : return timeInterval;
663 : }
664 :
665 : /**
666 : * Set timeInterval with the specified ArrayTimeInterval.
667 : * @param timeInterval The ArrayTimeInterval value to which timeInterval is to be set.
668 :
669 :
670 :
671 : * @throw IllegalAccessException If an attempt is made to change this field after is has been added to the table.
672 :
673 : */
674 0 : void FreqOffsetRow::setTimeInterval (ArrayTimeInterval timeInterval) {
675 :
676 :
677 0 : if (hasBeenAdded) {
678 :
679 0 : throw IllegalAccessException("timeInterval", "FreqOffset");
680 :
681 : }
682 :
683 0 : this->timeInterval = timeInterval;
684 :
685 0 : }
686 :
687 :
688 :
689 :
690 :
691 :
692 : /**
693 : * Get offset.
694 : * @return offset as Frequency
695 : */
696 0 : Frequency FreqOffsetRow::getOffset() const {
697 :
698 0 : return offset;
699 : }
700 :
701 : /**
702 : * Set offset with the specified Frequency.
703 : * @param offset The Frequency value to which offset is to be set.
704 :
705 :
706 :
707 : */
708 0 : void FreqOffsetRow::setOffset (Frequency offset) {
709 :
710 :
711 0 : if (hasBeenAdded) {
712 :
713 : }
714 :
715 0 : this->offset = offset;
716 :
717 0 : }
718 :
719 :
720 :
721 :
722 : ///////////////////////////////////////////////
723 : // Extrinsic Table Attributes getters/setters//
724 : ///////////////////////////////////////////////
725 :
726 :
727 :
728 :
729 : /**
730 : * Get antennaId.
731 : * @return antennaId as Tag
732 : */
733 0 : Tag FreqOffsetRow::getAntennaId() const {
734 :
735 0 : return antennaId;
736 : }
737 :
738 : /**
739 : * Set antennaId with the specified Tag.
740 : * @param antennaId The Tag value to which antennaId is to be set.
741 :
742 :
743 :
744 : * @throw IllegalAccessException If an attempt is made to change this field after is has been added to the table.
745 :
746 : */
747 0 : void FreqOffsetRow::setAntennaId (Tag antennaId) {
748 :
749 :
750 0 : if (hasBeenAdded) {
751 :
752 0 : throw IllegalAccessException("antennaId", "FreqOffset");
753 :
754 : }
755 :
756 0 : this->antennaId = antennaId;
757 :
758 0 : }
759 :
760 :
761 :
762 :
763 :
764 :
765 : /**
766 : * Get feedId.
767 : * @return feedId as int
768 : */
769 0 : int FreqOffsetRow::getFeedId() const {
770 :
771 0 : return feedId;
772 : }
773 :
774 : /**
775 : * Set feedId with the specified int.
776 : * @param feedId The int value to which feedId is to be set.
777 :
778 :
779 :
780 : * @throw IllegalAccessException If an attempt is made to change this field after is has been added to the table.
781 :
782 : */
783 0 : void FreqOffsetRow::setFeedId (int feedId) {
784 :
785 :
786 0 : if (hasBeenAdded) {
787 :
788 0 : throw IllegalAccessException("feedId", "FreqOffset");
789 :
790 : }
791 :
792 0 : this->feedId = feedId;
793 :
794 0 : }
795 :
796 :
797 :
798 :
799 :
800 :
801 : /**
802 : * Get spectralWindowId.
803 : * @return spectralWindowId as Tag
804 : */
805 0 : Tag FreqOffsetRow::getSpectralWindowId() const {
806 :
807 0 : return spectralWindowId;
808 : }
809 :
810 : /**
811 : * Set spectralWindowId with the specified Tag.
812 : * @param spectralWindowId The Tag value to which spectralWindowId is to be set.
813 :
814 :
815 :
816 : * @throw IllegalAccessException If an attempt is made to change this field after is has been added to the table.
817 :
818 : */
819 0 : void FreqOffsetRow::setSpectralWindowId (Tag spectralWindowId) {
820 :
821 :
822 0 : if (hasBeenAdded) {
823 :
824 0 : throw IllegalAccessException("spectralWindowId", "FreqOffset");
825 :
826 : }
827 :
828 0 : this->spectralWindowId = spectralWindowId;
829 :
830 0 : }
831 :
832 :
833 :
834 :
835 : //////////////////////////////////////
836 : // Links Attributes getters/setters //
837 : //////////////////////////////////////
838 :
839 :
840 :
841 :
842 :
843 :
844 : /**
845 : * Returns the pointer to the row in the Antenna table having Antenna.antennaId == antennaId
846 : * @return a AntennaRow*
847 : *
848 :
849 : */
850 0 : AntennaRow* FreqOffsetRow::getAntennaUsingAntennaId() {
851 :
852 0 : return table.getContainer().getAntenna().getRowByKey(antennaId);
853 : }
854 :
855 :
856 :
857 :
858 :
859 :
860 :
861 :
862 :
863 : /**
864 : * Returns the pointer to the row in the SpectralWindow table having SpectralWindow.spectralWindowId == spectralWindowId
865 : * @return a SpectralWindowRow*
866 : *
867 :
868 : */
869 0 : SpectralWindowRow* FreqOffsetRow::getSpectralWindowUsingSpectralWindowId() {
870 :
871 0 : return table.getContainer().getSpectralWindow().getRowByKey(spectralWindowId);
872 : }
873 :
874 :
875 :
876 :
877 :
878 :
879 :
880 :
881 :
882 : // ===> Slice link from a row of FreqOffset table to a collection of row of Feed table.
883 :
884 : /**
885 : * Get the collection of row in the Feed table having their attribut feedId == this->feedId
886 : */
887 0 : vector <FeedRow *> FreqOffsetRow::getFeeds() {
888 :
889 0 : return table.getContainer().getFeed().getRowByFeedId(feedId);
890 :
891 : }
892 :
893 :
894 :
895 :
896 :
897 : /**
898 : * Create a FreqOffsetRow.
899 : * <p>
900 : * This constructor is private because only the
901 : * table can create rows. All rows know the table
902 : * to which they belong.
903 : * @param table The table to which this row belongs.
904 : */
905 0 : FreqOffsetRow::FreqOffsetRow (FreqOffsetTable &t) : table(t) {
906 0 : hasBeenAdded = false;
907 :
908 :
909 :
910 :
911 :
912 :
913 :
914 :
915 :
916 :
917 :
918 :
919 :
920 :
921 :
922 :
923 :
924 :
925 :
926 :
927 :
928 :
929 0 : fromBinMethods["antennaId"] = &FreqOffsetRow::antennaIdFromBin;
930 0 : fromBinMethods["spectralWindowId"] = &FreqOffsetRow::spectralWindowIdFromBin;
931 0 : fromBinMethods["timeInterval"] = &FreqOffsetRow::timeIntervalFromBin;
932 0 : fromBinMethods["feedId"] = &FreqOffsetRow::feedIdFromBin;
933 0 : fromBinMethods["offset"] = &FreqOffsetRow::offsetFromBin;
934 :
935 :
936 :
937 :
938 :
939 :
940 :
941 0 : fromTextMethods["antennaId"] = &FreqOffsetRow::antennaIdFromText;
942 :
943 :
944 :
945 0 : fromTextMethods["spectralWindowId"] = &FreqOffsetRow::spectralWindowIdFromText;
946 :
947 :
948 :
949 0 : fromTextMethods["timeInterval"] = &FreqOffsetRow::timeIntervalFromText;
950 :
951 :
952 :
953 0 : fromTextMethods["feedId"] = &FreqOffsetRow::feedIdFromText;
954 :
955 :
956 :
957 0 : fromTextMethods["offset"] = &FreqOffsetRow::offsetFromText;
958 :
959 :
960 :
961 :
962 0 : }
963 :
964 0 : FreqOffsetRow::FreqOffsetRow (FreqOffsetTable &t, FreqOffsetRow *row) : table(t) {
965 0 : hasBeenAdded = false;
966 :
967 0 : if (row == 0) {
968 :
969 :
970 :
971 :
972 :
973 :
974 :
975 :
976 :
977 :
978 :
979 :
980 :
981 : }
982 : else {
983 :
984 :
985 0 : antennaId = row->antennaId;
986 :
987 0 : spectralWindowId = row->spectralWindowId;
988 :
989 0 : timeInterval = row->timeInterval;
990 :
991 0 : feedId = row->feedId;
992 :
993 :
994 :
995 :
996 0 : offset = row->offset;
997 :
998 :
999 :
1000 :
1001 : }
1002 :
1003 0 : fromBinMethods["antennaId"] = &FreqOffsetRow::antennaIdFromBin;
1004 0 : fromBinMethods["spectralWindowId"] = &FreqOffsetRow::spectralWindowIdFromBin;
1005 0 : fromBinMethods["timeInterval"] = &FreqOffsetRow::timeIntervalFromBin;
1006 0 : fromBinMethods["feedId"] = &FreqOffsetRow::feedIdFromBin;
1007 0 : fromBinMethods["offset"] = &FreqOffsetRow::offsetFromBin;
1008 :
1009 :
1010 :
1011 0 : }
1012 :
1013 :
1014 0 : bool FreqOffsetRow::compareNoAutoInc(Tag antennaId, Tag spectralWindowId, ArrayTimeInterval timeInterval, int feedId, Frequency offset) {
1015 : bool result;
1016 0 : result = true;
1017 :
1018 :
1019 :
1020 0 : result = result && (this->antennaId == antennaId);
1021 :
1022 0 : if (!result) return false;
1023 :
1024 :
1025 :
1026 :
1027 0 : result = result && (this->spectralWindowId == spectralWindowId);
1028 :
1029 0 : if (!result) return false;
1030 :
1031 :
1032 :
1033 :
1034 0 : result = result && (this->timeInterval.overlaps(timeInterval));
1035 :
1036 0 : if (!result) return false;
1037 :
1038 :
1039 :
1040 :
1041 0 : result = result && (this->feedId == feedId);
1042 :
1043 0 : if (!result) return false;
1044 :
1045 :
1046 :
1047 :
1048 0 : result = result && (this->offset == offset);
1049 :
1050 0 : if (!result) return false;
1051 :
1052 :
1053 0 : return result;
1054 : }
1055 :
1056 :
1057 :
1058 0 : bool FreqOffsetRow::compareRequiredValue(Frequency offset) {
1059 : bool result;
1060 0 : result = true;
1061 :
1062 :
1063 0 : if (!(this->offset == offset)) return false;
1064 :
1065 :
1066 0 : return result;
1067 : }
1068 :
1069 :
1070 : /**
1071 : * Return true if all required attributes of the value part are equal to their homologues
1072 : * in x and false otherwise.
1073 : *
1074 :
1075 : * @param x a pointer on the FreqOffsetRow whose required attributes of the value part
1076 :
1077 : * will be compared with those of this.
1078 : * @return a boolean.
1079 : */
1080 0 : bool FreqOffsetRow::equalByRequiredValue(FreqOffsetRow* x ) {
1081 :
1082 :
1083 0 : if (this->offset != x->offset) return false;
1084 :
1085 :
1086 0 : return true;
1087 : }
1088 :
1089 : /*
1090 : map<string, FreqOffsetAttributeFromBin> FreqOffsetRow::initFromBinMethods() {
1091 : map<string, FreqOffsetAttributeFromBin> result;
1092 :
1093 : result["antennaId"] = &FreqOffsetRow::antennaIdFromBin;
1094 : result["spectralWindowId"] = &FreqOffsetRow::spectralWindowIdFromBin;
1095 : result["timeInterval"] = &FreqOffsetRow::timeIntervalFromBin;
1096 : result["feedId"] = &FreqOffsetRow::feedIdFromBin;
1097 : result["offset"] = &FreqOffsetRow::offsetFromBin;
1098 :
1099 :
1100 :
1101 :
1102 : return result;
1103 : }
1104 : */
1105 : } // End namespace asdm
1106 :
|