LCOV - code coverage report
Current view: top level - alma/ASDM - CalPhaseRow.cc (source / functions) Hit Total Coverage
Test: casacpp_coverage.info Lines: 0 860 0.0 %
Date: 2024-10-28 15:53:10 Functions: 0 133 0.0 %

          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 CalPhaseRow.cpp
      32             :  */
      33             :  
      34             : #include <vector>
      35             : #include <set>
      36             : 
      37             : #include <alma/ASDM/ASDM.h>
      38             : #include <alma/ASDM/CalPhaseRow.h>
      39             : #include <alma/ASDM/CalPhaseTable.h>
      40             : 
      41             : #include <alma/ASDM/CalDataTable.h>
      42             : #include <alma/ASDM/CalDataRow.h>
      43             : 
      44             : #include <alma/ASDM/CalReductionTable.h>
      45             : #include <alma/ASDM/CalReductionRow.h>
      46             :         
      47             : 
      48             : using asdm::ASDM;
      49             : using asdm::CalPhaseRow;
      50             : using asdm::CalPhaseTable;
      51             : 
      52             : using asdm::CalDataTable;
      53             : using asdm::CalDataRow;
      54             : 
      55             : using asdm::CalReductionTable;
      56             : using asdm::CalReductionRow;
      57             : 
      58             : 
      59             : #include <alma/ASDM/Parser.h>
      60             : 
      61             : #include <alma/ASDM/EnumerationParser.h>
      62             : #include <alma/ASDM/ASDMValuesParser.h>
      63             :  
      64             : #include <alma/ASDM/InvalidArgumentException.h>
      65             : 
      66             : using namespace std;
      67             : 
      68             : namespace asdm {
      69           0 :         CalPhaseRow::~CalPhaseRow() {
      70           0 :         }
      71             : 
      72             :         /**
      73             :          * Return the table to which this row belongs.
      74             :          */
      75           0 :         CalPhaseTable &CalPhaseRow::getTable() const {
      76           0 :                 return table;
      77             :         }
      78             : 
      79           0 :         bool CalPhaseRow::isAdded() const {
      80           0 :                 return hasBeenAdded;
      81             :         }       
      82             : 
      83           0 :         void CalPhaseRow::isAdded(bool added) {
      84           0 :                 hasBeenAdded = added;
      85           0 :         }
      86             :         
      87             : #ifndef WITHOUT_ACS
      88             :         using asdmIDL::CalPhaseRowIDL;
      89             : #endif
      90             :         
      91             : #ifndef WITHOUT_ACS
      92             :         /**
      93             :          * Return this row in the form of an IDL struct.
      94             :          * @return The values of this row as a CalPhaseRowIDL struct.
      95             :          */
      96             :         CalPhaseRowIDL *CalPhaseRow::toIDL() const {
      97             :                 CalPhaseRowIDL *x = new CalPhaseRowIDL ();
      98             :                 
      99             :                 // Fill the IDL structure.
     100             :         
     101             :                 
     102             :         
     103             :                 
     104             :                 
     105             :                 
     106             :                         
     107             :                                 
     108             :                 x->basebandName = basebandName;
     109             :                                 
     110             :                         
     111             :                 
     112             :         
     113             : 
     114             :         
     115             :                 
     116             :                 
     117             :                 
     118             :                         
     119             :                                 
     120             :                 x->receiverBand = receiverBand;
     121             :                                 
     122             :                         
     123             :                 
     124             :         
     125             : 
     126             :         
     127             :                 
     128             :                 
     129             :                 
     130             :                         
     131             :                                 
     132             :                 x->atmPhaseCorrection = atmPhaseCorrection;
     133             :                                 
     134             :                         
     135             :                 
     136             :         
     137             : 
     138             :         
     139             :                 
     140             :                 
     141             :                 
     142             :                         
     143             :                 x->startValidTime = startValidTime.toIDLArrayTime();
     144             :                         
     145             :                 
     146             :         
     147             : 
     148             :         
     149             :                 
     150             :                 
     151             :                 
     152             :                         
     153             :                 x->endValidTime = endValidTime.toIDLArrayTime();
     154             :                         
     155             :                 
     156             :         
     157             : 
     158             :         
     159             :                 
     160             :                 
     161             :                 
     162             :                         
     163             :                                 
     164             :                 x->numBaseline = numBaseline;
     165             :                                 
     166             :                         
     167             :                 
     168             :         
     169             : 
     170             :         
     171             :                 
     172             :                 
     173             :                 
     174             :                         
     175             :                                 
     176             :                 x->numReceptor = numReceptor;
     177             :                                 
     178             :                         
     179             :                 
     180             :         
     181             : 
     182             :         
     183             :                 
     184             :                 
     185             :                 
     186             :                         
     187             :                 x->ampli.length(ampli.size());
     188             :                 for (unsigned int i = 0; i < ampli.size(); i++) {
     189             :                         x->ampli[i].length(ampli.at(i).size());                                      
     190             :                 }
     191             :                 
     192             :                 for (unsigned int i = 0; i < ampli.size() ; i++)
     193             :                         for (unsigned int j = 0; j < ampli.at(i).size(); j++)
     194             :                                         
     195             :                                                 
     196             :                                 x->ampli[i][j] = ampli.at(i).at(j);
     197             :                                                 
     198             :                                                                         
     199             :                 
     200             :                         
     201             :                 
     202             :         
     203             : 
     204             :         
     205             :                 
     206             :                 
     207             :                 
     208             :                         
     209             :                 x->antennaNames.length(antennaNames.size());
     210             :                 for (unsigned int i = 0; i < antennaNames.size(); i++) {
     211             :                         x->antennaNames[i].length(antennaNames.at(i).size());                                        
     212             :                 }
     213             :                 
     214             :                 for (unsigned int i = 0; i < antennaNames.size() ; i++)
     215             :                         for (unsigned int j = 0; j < antennaNames.at(i).size(); j++)
     216             :                                         
     217             :                                                 
     218             :                                 x->antennaNames[i][j] = CORBA::string_dup(antennaNames.at(i).at(j).c_str());
     219             :                                                 
     220             :                                                                         
     221             :                 
     222             :                         
     223             :                 
     224             :         
     225             : 
     226             :         
     227             :                 
     228             :                 
     229             :                 
     230             :                         
     231             :                 x->baselineLengths.length(baselineLengths.size());
     232             :                 for (unsigned int i = 0; i < baselineLengths.size(); ++i) {
     233             :                         
     234             :                         x->baselineLengths[i] = baselineLengths.at(i).toIDLLength();
     235             :                         
     236             :                 }
     237             :                         
     238             :                 
     239             :         
     240             : 
     241             :         
     242             :                 
     243             :                 
     244             :                 
     245             :                         
     246             :                 x->decorrelationFactor.length(decorrelationFactor.size());
     247             :                 for (unsigned int i = 0; i < decorrelationFactor.size(); i++) {
     248             :                         x->decorrelationFactor[i].length(decorrelationFactor.at(i).size());                                  
     249             :                 }
     250             :                 
     251             :                 for (unsigned int i = 0; i < decorrelationFactor.size() ; i++)
     252             :                         for (unsigned int j = 0; j < decorrelationFactor.at(i).size(); j++)
     253             :                                         
     254             :                                                 
     255             :                                 x->decorrelationFactor[i][j] = decorrelationFactor.at(i).at(j);
     256             :                                                 
     257             :                                                                         
     258             :                 
     259             :                         
     260             :                 
     261             :         
     262             : 
     263             :         
     264             :                 
     265             :                 
     266             :                 
     267             :                         
     268             :                 x->direction.length(direction.size());
     269             :                 for (unsigned int i = 0; i < direction.size(); ++i) {
     270             :                         
     271             :                         x->direction[i] = direction.at(i).toIDLAngle();
     272             :                         
     273             :                 }
     274             :                         
     275             :                 
     276             :         
     277             : 
     278             :         
     279             :                 
     280             :                 
     281             :                 
     282             :                         
     283             :                 x->frequencyRange.length(frequencyRange.size());
     284             :                 for (unsigned int i = 0; i < frequencyRange.size(); ++i) {
     285             :                         
     286             :                         x->frequencyRange[i] = frequencyRange.at(i).toIDLFrequency();
     287             :                         
     288             :                 }
     289             :                         
     290             :                 
     291             :         
     292             : 
     293             :         
     294             :                 
     295             :                 
     296             :                 
     297             :                         
     298             :                 x->integrationTime = integrationTime.toIDLInterval();
     299             :                         
     300             :                 
     301             :         
     302             : 
     303             :         
     304             :                 
     305             :                 
     306             :                 
     307             :                         
     308             :                 x->phase.length(phase.size());
     309             :                 for (unsigned int i = 0; i < phase.size(); i++) {
     310             :                         x->phase[i].length(phase.at(i).size());                                      
     311             :                 }
     312             :                 
     313             :                 for (unsigned int i = 0; i < phase.size() ; i++)
     314             :                         for (unsigned int j = 0; j < phase.at(i).size(); j++)
     315             :                                         
     316             :                                                 
     317             :                                 x->phase[i][j] = phase.at(i).at(j);
     318             :                                                 
     319             :                                                                         
     320             :                 
     321             :                         
     322             :                 
     323             :         
     324             : 
     325             :         
     326             :                 
     327             :                 
     328             :                 
     329             :                         
     330             :                 x->polarizationTypes.length(polarizationTypes.size());
     331             :                 for (unsigned int i = 0; i < polarizationTypes.size(); ++i) {
     332             :                         
     333             :                                 
     334             :                         x->polarizationTypes[i] = polarizationTypes.at(i);
     335             :                                 
     336             :                         
     337             :                 }
     338             :                         
     339             :                 
     340             :         
     341             : 
     342             :         
     343             :                 
     344             :                 
     345             :                 
     346             :                         
     347             :                 x->phaseRMS.length(phaseRMS.size());
     348             :                 for (unsigned int i = 0; i < phaseRMS.size(); i++) {
     349             :                         x->phaseRMS[i].length(phaseRMS.at(i).size());                                        
     350             :                 }
     351             :                 
     352             :                 for (unsigned int i = 0; i < phaseRMS.size() ; i++)
     353             :                         for (unsigned int j = 0; j < phaseRMS.at(i).size(); j++)
     354             :                                         
     355             :                                                 
     356             :                                 x->phaseRMS[i][j] = phaseRMS.at(i).at(j);
     357             :                                                 
     358             :                                                                         
     359             :                 
     360             :                         
     361             :                 
     362             :         
     363             : 
     364             :         
     365             :                 
     366             :                 
     367             :                 
     368             :                         
     369             :                 x->statPhaseRMS.length(statPhaseRMS.size());
     370             :                 for (unsigned int i = 0; i < statPhaseRMS.size(); i++) {
     371             :                         x->statPhaseRMS[i].length(statPhaseRMS.at(i).size());                                        
     372             :                 }
     373             :                 
     374             :                 for (unsigned int i = 0; i < statPhaseRMS.size() ; i++)
     375             :                         for (unsigned int j = 0; j < statPhaseRMS.at(i).size(); j++)
     376             :                                         
     377             :                                                 
     378             :                                 x->statPhaseRMS[i][j] = statPhaseRMS.at(i).at(j);
     379             :                                                 
     380             :                                                                         
     381             :                 
     382             :                         
     383             :                 
     384             :         
     385             : 
     386             :         
     387             :                 
     388             :                 
     389             :                 x->correctionValidityExists = correctionValidityExists;
     390             :                 
     391             :                 
     392             :                         
     393             :                 x->correctionValidity.length(correctionValidity.size());
     394             :                 for (unsigned int i = 0; i < correctionValidity.size(); ++i) {
     395             :                         
     396             :                                 
     397             :                         x->correctionValidity[i] = correctionValidity.at(i);
     398             :                                 
     399             :                         
     400             :                 }
     401             :                         
     402             :                 
     403             :         
     404             : 
     405             :         
     406             :                 
     407             :                 
     408             :                 x->numAntennaExists = numAntennaExists;
     409             :                 
     410             :                 
     411             :                         
     412             :                                 
     413             :                 x->numAntenna = numAntenna;
     414             :                                 
     415             :                         
     416             :                 
     417             :         
     418             : 
     419             :         
     420             :                 
     421             :                 
     422             :                 x->singleAntennaNameExists = singleAntennaNameExists;
     423             :                 
     424             :                 
     425             :                         
     426             :                 x->singleAntennaName.length(singleAntennaName.size());
     427             :                 for (unsigned int i = 0; i < singleAntennaName.size(); ++i) {
     428             :                         
     429             :                                 
     430             :                         x->singleAntennaName[i] = CORBA::string_dup(singleAntennaName.at(i).c_str());
     431             :                                 
     432             :                         
     433             :                 }
     434             :                         
     435             :                 
     436             :         
     437             : 
     438             :         
     439             :                 
     440             :                 
     441             :                 x->refAntennaNameExists = refAntennaNameExists;
     442             :                 
     443             :                 
     444             :                         
     445             :                                 
     446             :                 x->refAntennaName = CORBA::string_dup(refAntennaName.c_str());
     447             :                                 
     448             :                         
     449             :                 
     450             :         
     451             : 
     452             :         
     453             :                 
     454             :                 
     455             :                 x->phaseAntExists = phaseAntExists;
     456             :                 
     457             :                 
     458             :                         
     459             :                 x->phaseAnt.length(phaseAnt.size());
     460             :                 for (unsigned int i = 0; i < phaseAnt.size(); i++) {
     461             :                         x->phaseAnt[i].length(phaseAnt.at(i).size());                                        
     462             :                 }
     463             :                 
     464             :                 for (unsigned int i = 0; i < phaseAnt.size() ; i++)
     465             :                         for (unsigned int j = 0; j < phaseAnt.at(i).size(); j++)
     466             :                                         
     467             :                                                 
     468             :                                 x->phaseAnt[i][j] = phaseAnt.at(i).at(j);
     469             :                                                 
     470             :                                                                         
     471             :                 
     472             :                         
     473             :                 
     474             :         
     475             : 
     476             :         
     477             :                 
     478             :                 
     479             :                 x->phaseAntRMSExists = phaseAntRMSExists;
     480             :                 
     481             :                 
     482             :                         
     483             :                 x->phaseAntRMS.length(phaseAntRMS.size());
     484             :                 for (unsigned int i = 0; i < phaseAntRMS.size(); i++) {
     485             :                         x->phaseAntRMS[i].length(phaseAntRMS.at(i).size());                                  
     486             :                 }
     487             :                 
     488             :                 for (unsigned int i = 0; i < phaseAntRMS.size() ; i++)
     489             :                         for (unsigned int j = 0; j < phaseAntRMS.at(i).size(); j++)
     490             :                                         
     491             :                                                 
     492             :                                 x->phaseAntRMS[i][j] = phaseAntRMS.at(i).at(j);
     493             :                                                 
     494             :                                                                         
     495             :                 
     496             :                         
     497             :                 
     498             :         
     499             : 
     500             :         
     501             :         
     502             :                 
     503             :         
     504             :         
     505             :                 
     506             :                 
     507             :                 
     508             :                         
     509             :                 x->calDataId = calDataId.toIDLTag();
     510             :                         
     511             :                                 
     512             :         
     513             : 
     514             :         
     515             :         
     516             :                 
     517             :                 
     518             :                 
     519             :                         
     520             :                 x->calReductionId = calReductionId.toIDLTag();
     521             :                         
     522             :                                 
     523             :         
     524             : 
     525             :         
     526             :                 
     527             :         
     528             : 
     529             :         
     530             : 
     531             :                 
     532             :                 return x;
     533             :         
     534             :         }
     535             :         
     536             :         void CalPhaseRow::toIDL(asdmIDL::CalPhaseRowIDL& x) const {
     537             :                 // Set the x's fields.
     538             :         
     539             :                 
     540             :         
     541             :                 
     542             :                 
     543             :                 
     544             :                         
     545             :                                 
     546             :                 x.basebandName = basebandName;
     547             :                                 
     548             :                         
     549             :                 
     550             :         
     551             : 
     552             :         
     553             :                 
     554             :                 
     555             :                 
     556             :                         
     557             :                                 
     558             :                 x.receiverBand = receiverBand;
     559             :                                 
     560             :                         
     561             :                 
     562             :         
     563             : 
     564             :         
     565             :                 
     566             :                 
     567             :                 
     568             :                         
     569             :                                 
     570             :                 x.atmPhaseCorrection = atmPhaseCorrection;
     571             :                                 
     572             :                         
     573             :                 
     574             :         
     575             : 
     576             :         
     577             :                 
     578             :                 
     579             :                 
     580             :                         
     581             :                 x.startValidTime = startValidTime.toIDLArrayTime();
     582             :                         
     583             :                 
     584             :         
     585             : 
     586             :         
     587             :                 
     588             :                 
     589             :                 
     590             :                         
     591             :                 x.endValidTime = endValidTime.toIDLArrayTime();
     592             :                         
     593             :                 
     594             :         
     595             : 
     596             :         
     597             :                 
     598             :                 
     599             :                 
     600             :                         
     601             :                                 
     602             :                 x.numBaseline = numBaseline;
     603             :                                 
     604             :                         
     605             :                 
     606             :         
     607             : 
     608             :         
     609             :                 
     610             :                 
     611             :                 
     612             :                         
     613             :                                 
     614             :                 x.numReceptor = numReceptor;
     615             :                                 
     616             :                         
     617             :                 
     618             :         
     619             : 
     620             :         
     621             :                 
     622             :                 
     623             :                 
     624             :                         
     625             :                 x.ampli.length(ampli.size());
     626             :                 for (unsigned int i = 0; i < ampli.size(); i++) {
     627             :                         x.ampli[i].length(ampli.at(i).size());                                  
     628             :                 }
     629             :                 
     630             :                 for (unsigned int i = 0; i < ampli.size() ; i++)
     631             :                         for (unsigned int j = 0; j < ampli.at(i).size(); j++)
     632             :                                         
     633             :                                                 
     634             :                                 x.ampli[i][j] = ampli.at(i).at(j);
     635             :                                                 
     636             :                                                                         
     637             :                 
     638             :                         
     639             :                 
     640             :         
     641             : 
     642             :         
     643             :                 
     644             :                 
     645             :                 
     646             :                         
     647             :                 x.antennaNames.length(antennaNames.size());
     648             :                 for (unsigned int i = 0; i < antennaNames.size(); i++) {
     649             :                         x.antennaNames[i].length(antennaNames.at(i).size());                                    
     650             :                 }
     651             :                 
     652             :                 for (unsigned int i = 0; i < antennaNames.size() ; i++)
     653             :                         for (unsigned int j = 0; j < antennaNames.at(i).size(); j++)
     654             :                                         
     655             :                                                 
     656             :                                 x.antennaNames[i][j] = CORBA::string_dup(antennaNames.at(i).at(j).c_str());
     657             :                                                 
     658             :                                                                         
     659             :                 
     660             :                         
     661             :                 
     662             :         
     663             : 
     664             :         
     665             :                 
     666             :                 
     667             :                 
     668             :                         
     669             :                 x.baselineLengths.length(baselineLengths.size());
     670             :                 for (unsigned int i = 0; i < baselineLengths.size(); ++i) {
     671             :                         
     672             :                         x.baselineLengths[i] = baselineLengths.at(i).toIDLLength();
     673             :                         
     674             :                 }
     675             :                         
     676             :                 
     677             :         
     678             : 
     679             :         
     680             :                 
     681             :                 
     682             :                 
     683             :                         
     684             :                 x.decorrelationFactor.length(decorrelationFactor.size());
     685             :                 for (unsigned int i = 0; i < decorrelationFactor.size(); i++) {
     686             :                         x.decorrelationFactor[i].length(decorrelationFactor.at(i).size());                                      
     687             :                 }
     688             :                 
     689             :                 for (unsigned int i = 0; i < decorrelationFactor.size() ; i++)
     690             :                         for (unsigned int j = 0; j < decorrelationFactor.at(i).size(); j++)
     691             :                                         
     692             :                                                 
     693             :                                 x.decorrelationFactor[i][j] = decorrelationFactor.at(i).at(j);
     694             :                                                 
     695             :                                                                         
     696             :                 
     697             :                         
     698             :                 
     699             :         
     700             : 
     701             :         
     702             :                 
     703             :                 
     704             :                 
     705             :                         
     706             :                 x.direction.length(direction.size());
     707             :                 for (unsigned int i = 0; i < direction.size(); ++i) {
     708             :                         
     709             :                         x.direction[i] = direction.at(i).toIDLAngle();
     710             :                         
     711             :                 }
     712             :                         
     713             :                 
     714             :         
     715             : 
     716             :         
     717             :                 
     718             :                 
     719             :                 
     720             :                         
     721             :                 x.frequencyRange.length(frequencyRange.size());
     722             :                 for (unsigned int i = 0; i < frequencyRange.size(); ++i) {
     723             :                         
     724             :                         x.frequencyRange[i] = frequencyRange.at(i).toIDLFrequency();
     725             :                         
     726             :                 }
     727             :                         
     728             :                 
     729             :         
     730             : 
     731             :         
     732             :                 
     733             :                 
     734             :                 
     735             :                         
     736             :                 x.integrationTime = integrationTime.toIDLInterval();
     737             :                         
     738             :                 
     739             :         
     740             : 
     741             :         
     742             :                 
     743             :                 
     744             :                 
     745             :                         
     746             :                 x.phase.length(phase.size());
     747             :                 for (unsigned int i = 0; i < phase.size(); i++) {
     748             :                         x.phase[i].length(phase.at(i).size());                                  
     749             :                 }
     750             :                 
     751             :                 for (unsigned int i = 0; i < phase.size() ; i++)
     752             :                         for (unsigned int j = 0; j < phase.at(i).size(); j++)
     753             :                                         
     754             :                                                 
     755             :                                 x.phase[i][j] = phase.at(i).at(j);
     756             :                                                 
     757             :                                                                         
     758             :                 
     759             :                         
     760             :                 
     761             :         
     762             : 
     763             :         
     764             :                 
     765             :                 
     766             :                 
     767             :                         
     768             :                 x.polarizationTypes.length(polarizationTypes.size());
     769             :                 for (unsigned int i = 0; i < polarizationTypes.size(); ++i) {
     770             :                         
     771             :                                 
     772             :                         x.polarizationTypes[i] = polarizationTypes.at(i);
     773             :                                 
     774             :                         
     775             :                 }
     776             :                         
     777             :                 
     778             :         
     779             : 
     780             :         
     781             :                 
     782             :                 
     783             :                 
     784             :                         
     785             :                 x.phaseRMS.length(phaseRMS.size());
     786             :                 for (unsigned int i = 0; i < phaseRMS.size(); i++) {
     787             :                         x.phaseRMS[i].length(phaseRMS.at(i).size());                                    
     788             :                 }
     789             :                 
     790             :                 for (unsigned int i = 0; i < phaseRMS.size() ; i++)
     791             :                         for (unsigned int j = 0; j < phaseRMS.at(i).size(); j++)
     792             :                                         
     793             :                                                 
     794             :                                 x.phaseRMS[i][j] = phaseRMS.at(i).at(j);
     795             :                                                 
     796             :                                                                         
     797             :                 
     798             :                         
     799             :                 
     800             :         
     801             : 
     802             :         
     803             :                 
     804             :                 
     805             :                 
     806             :                         
     807             :                 x.statPhaseRMS.length(statPhaseRMS.size());
     808             :                 for (unsigned int i = 0; i < statPhaseRMS.size(); i++) {
     809             :                         x.statPhaseRMS[i].length(statPhaseRMS.at(i).size());                                    
     810             :                 }
     811             :                 
     812             :                 for (unsigned int i = 0; i < statPhaseRMS.size() ; i++)
     813             :                         for (unsigned int j = 0; j < statPhaseRMS.at(i).size(); j++)
     814             :                                         
     815             :                                                 
     816             :                                 x.statPhaseRMS[i][j] = statPhaseRMS.at(i).at(j);
     817             :                                                 
     818             :                                                                         
     819             :                 
     820             :                         
     821             :                 
     822             :         
     823             : 
     824             :         
     825             :                 
     826             :                 
     827             :                 x.correctionValidityExists = correctionValidityExists;
     828             :                 
     829             :                 
     830             :                         
     831             :                 x.correctionValidity.length(correctionValidity.size());
     832             :                 for (unsigned int i = 0; i < correctionValidity.size(); ++i) {
     833             :                         
     834             :                                 
     835             :                         x.correctionValidity[i] = correctionValidity.at(i);
     836             :                                 
     837             :                         
     838             :                 }
     839             :                         
     840             :                 
     841             :         
     842             : 
     843             :         
     844             :                 
     845             :                 
     846             :                 x.numAntennaExists = numAntennaExists;
     847             :                 
     848             :                 
     849             :                         
     850             :                                 
     851             :                 x.numAntenna = numAntenna;
     852             :                                 
     853             :                         
     854             :                 
     855             :         
     856             : 
     857             :         
     858             :                 
     859             :                 
     860             :                 x.singleAntennaNameExists = singleAntennaNameExists;
     861             :                 
     862             :                 
     863             :                         
     864             :                 x.singleAntennaName.length(singleAntennaName.size());
     865             :                 for (unsigned int i = 0; i < singleAntennaName.size(); ++i) {
     866             :                         
     867             :                                 
     868             :                         x.singleAntennaName[i] = CORBA::string_dup(singleAntennaName.at(i).c_str());
     869             :                                 
     870             :                         
     871             :                 }
     872             :                         
     873             :                 
     874             :         
     875             : 
     876             :         
     877             :                 
     878             :                 
     879             :                 x.refAntennaNameExists = refAntennaNameExists;
     880             :                 
     881             :                 
     882             :                         
     883             :                                 
     884             :                 x.refAntennaName = CORBA::string_dup(refAntennaName.c_str());
     885             :                                 
     886             :                         
     887             :                 
     888             :         
     889             : 
     890             :         
     891             :                 
     892             :                 
     893             :                 x.phaseAntExists = phaseAntExists;
     894             :                 
     895             :                 
     896             :                         
     897             :                 x.phaseAnt.length(phaseAnt.size());
     898             :                 for (unsigned int i = 0; i < phaseAnt.size(); i++) {
     899             :                         x.phaseAnt[i].length(phaseAnt.at(i).size());                                    
     900             :                 }
     901             :                 
     902             :                 for (unsigned int i = 0; i < phaseAnt.size() ; i++)
     903             :                         for (unsigned int j = 0; j < phaseAnt.at(i).size(); j++)
     904             :                                         
     905             :                                                 
     906             :                                 x.phaseAnt[i][j] = phaseAnt.at(i).at(j);
     907             :                                                 
     908             :                                                                         
     909             :                 
     910             :                         
     911             :                 
     912             :         
     913             : 
     914             :         
     915             :                 
     916             :                 
     917             :                 x.phaseAntRMSExists = phaseAntRMSExists;
     918             :                 
     919             :                 
     920             :                         
     921             :                 x.phaseAntRMS.length(phaseAntRMS.size());
     922             :                 for (unsigned int i = 0; i < phaseAntRMS.size(); i++) {
     923             :                         x.phaseAntRMS[i].length(phaseAntRMS.at(i).size());                                      
     924             :                 }
     925             :                 
     926             :                 for (unsigned int i = 0; i < phaseAntRMS.size() ; i++)
     927             :                         for (unsigned int j = 0; j < phaseAntRMS.at(i).size(); j++)
     928             :                                         
     929             :                                                 
     930             :                                 x.phaseAntRMS[i][j] = phaseAntRMS.at(i).at(j);
     931             :                                                 
     932             :                                                                         
     933             :                 
     934             :                         
     935             :                 
     936             :         
     937             : 
     938             :         
     939             :         
     940             :                 
     941             :         
     942             :         
     943             :                 
     944             :                 
     945             :                 
     946             :                         
     947             :                 x.calDataId = calDataId.toIDLTag();
     948             :                         
     949             :                                 
     950             :         
     951             : 
     952             :         
     953             :         
     954             :                 
     955             :                 
     956             :                 
     957             :                         
     958             :                 x.calReductionId = calReductionId.toIDLTag();
     959             :                         
     960             :                                 
     961             :         
     962             : 
     963             :         
     964             :                 
     965             :         
     966             : 
     967             :         
     968             : 
     969             :         
     970             :         }
     971             : #endif
     972             :         
     973             : 
     974             : #ifndef WITHOUT_ACS
     975             :         /**
     976             :          * Fill the values of this row from the IDL struct CalPhaseRowIDL.
     977             :          * @param x The IDL struct containing the values used to fill this row.
     978             :          */
     979             :         void CalPhaseRow::setFromIDL (CalPhaseRowIDL x){
     980             :                 try {
     981             :                 // Fill the values from x.
     982             :         
     983             :                 
     984             :         
     985             :                 
     986             :                 
     987             :                         
     988             :                 setBasebandName(x.basebandName);
     989             :                         
     990             :                 
     991             :                 
     992             :         
     993             : 
     994             :         
     995             :                 
     996             :                 
     997             :                         
     998             :                 setReceiverBand(x.receiverBand);
     999             :                         
    1000             :                 
    1001             :                 
    1002             :         
    1003             : 
    1004             :         
    1005             :                 
    1006             :                 
    1007             :                         
    1008             :                 setAtmPhaseCorrection(x.atmPhaseCorrection);
    1009             :                         
    1010             :                 
    1011             :                 
    1012             :         
    1013             : 
    1014             :         
    1015             :                 
    1016             :                 
    1017             :                         
    1018             :                 setStartValidTime(ArrayTime (x.startValidTime));
    1019             :                         
    1020             :                 
    1021             :                 
    1022             :         
    1023             : 
    1024             :         
    1025             :                 
    1026             :                 
    1027             :                         
    1028             :                 setEndValidTime(ArrayTime (x.endValidTime));
    1029             :                         
    1030             :                 
    1031             :                 
    1032             :         
    1033             : 
    1034             :         
    1035             :                 
    1036             :                 
    1037             :                         
    1038             :                 setNumBaseline(x.numBaseline);
    1039             :                         
    1040             :                 
    1041             :                 
    1042             :         
    1043             : 
    1044             :         
    1045             :                 
    1046             :                 
    1047             :                         
    1048             :                 setNumReceptor(x.numReceptor);
    1049             :                         
    1050             :                 
    1051             :                 
    1052             :         
    1053             : 
    1054             :         
    1055             :                 
    1056             :                 
    1057             :                         
    1058             :                 ampli .clear();
    1059             :         
    1060             :         vector<float> v_aux_ampli;
    1061             :         
    1062             :                 for (unsigned int i = 0; i < x.ampli.length(); ++i) {
    1063             :                         v_aux_ampli.clear();
    1064             :                         for (unsigned int j = 0; j < x.ampli[0].length(); ++j) {
    1065             :                                 
    1066             :                                 v_aux_ampli.push_back(x.ampli[i][j]);
    1067             :                                 
    1068             :                         }
    1069             :                         ampli.push_back(v_aux_ampli);                   
    1070             :                 }
    1071             :                         
    1072             :                 
    1073             :                 
    1074             :         
    1075             : 
    1076             :         
    1077             :                 
    1078             :                 
    1079             :                         
    1080             :                 antennaNames .clear();
    1081             :         
    1082             :         vector<string> v_aux_antennaNames;
    1083             :         
    1084             :                 for (unsigned int i = 0; i < x.antennaNames.length(); ++i) {
    1085             :                         v_aux_antennaNames.clear();
    1086             :                         for (unsigned int j = 0; j < x.antennaNames[0].length(); ++j) {
    1087             :                                 
    1088             :                                 v_aux_antennaNames.push_back(string (x.antennaNames[i][j]));
    1089             :                                 
    1090             :                         }
    1091             :                         antennaNames.push_back(v_aux_antennaNames);                     
    1092             :                 }
    1093             :                         
    1094             :                 
    1095             :                 
    1096             :         
    1097             : 
    1098             :         
    1099             :                 
    1100             :                 
    1101             :                         
    1102             :                 baselineLengths .clear();
    1103             :                 for (unsigned int i = 0; i <x.baselineLengths.length(); ++i) {
    1104             :                         
    1105             :                         baselineLengths.push_back(Length (x.baselineLengths[i]));
    1106             :                         
    1107             :                 }
    1108             :                         
    1109             :                 
    1110             :                 
    1111             :         
    1112             : 
    1113             :         
    1114             :                 
    1115             :                 
    1116             :                         
    1117             :                 decorrelationFactor .clear();
    1118             :         
    1119             :         vector<float> v_aux_decorrelationFactor;
    1120             :         
    1121             :                 for (unsigned int i = 0; i < x.decorrelationFactor.length(); ++i) {
    1122             :                         v_aux_decorrelationFactor.clear();
    1123             :                         for (unsigned int j = 0; j < x.decorrelationFactor[0].length(); ++j) {
    1124             :                                 
    1125             :                                 v_aux_decorrelationFactor.push_back(x.decorrelationFactor[i][j]);
    1126             :                                 
    1127             :                         }
    1128             :                         decorrelationFactor.push_back(v_aux_decorrelationFactor);                       
    1129             :                 }
    1130             :                         
    1131             :                 
    1132             :                 
    1133             :         
    1134             : 
    1135             :         
    1136             :                 
    1137             :                 
    1138             :                         
    1139             :                 direction .clear();
    1140             :                 for (unsigned int i = 0; i <x.direction.length(); ++i) {
    1141             :                         
    1142             :                         direction.push_back(Angle (x.direction[i]));
    1143             :                         
    1144             :                 }
    1145             :                         
    1146             :                 
    1147             :                 
    1148             :         
    1149             : 
    1150             :         
    1151             :                 
    1152             :                 
    1153             :                         
    1154             :                 frequencyRange .clear();
    1155             :                 for (unsigned int i = 0; i <x.frequencyRange.length(); ++i) {
    1156             :                         
    1157             :                         frequencyRange.push_back(Frequency (x.frequencyRange[i]));
    1158             :                         
    1159             :                 }
    1160             :                         
    1161             :                 
    1162             :                 
    1163             :         
    1164             : 
    1165             :         
    1166             :                 
    1167             :                 
    1168             :                         
    1169             :                 setIntegrationTime(Interval (x.integrationTime));
    1170             :                         
    1171             :                 
    1172             :                 
    1173             :         
    1174             : 
    1175             :         
    1176             :                 
    1177             :                 
    1178             :                         
    1179             :                 phase .clear();
    1180             :         
    1181             :         vector<float> v_aux_phase;
    1182             :         
    1183             :                 for (unsigned int i = 0; i < x.phase.length(); ++i) {
    1184             :                         v_aux_phase.clear();
    1185             :                         for (unsigned int j = 0; j < x.phase[0].length(); ++j) {
    1186             :                                 
    1187             :                                 v_aux_phase.push_back(x.phase[i][j]);
    1188             :                                 
    1189             :                         }
    1190             :                         phase.push_back(v_aux_phase);                   
    1191             :                 }
    1192             :                         
    1193             :                 
    1194             :                 
    1195             :         
    1196             : 
    1197             :         
    1198             :                 
    1199             :                 
    1200             :                         
    1201             :                 polarizationTypes .clear();
    1202             :                 for (unsigned int i = 0; i <x.polarizationTypes.length(); ++i) {
    1203             :                         
    1204             :                         polarizationTypes.push_back(x.polarizationTypes[i]);
    1205             :                         
    1206             :                 }
    1207             :                         
    1208             :                 
    1209             :                 
    1210             :         
    1211             : 
    1212             :         
    1213             :                 
    1214             :                 
    1215             :                         
    1216             :                 phaseRMS .clear();
    1217             :         
    1218             :         vector<float> v_aux_phaseRMS;
    1219             :         
    1220             :                 for (unsigned int i = 0; i < x.phaseRMS.length(); ++i) {
    1221             :                         v_aux_phaseRMS.clear();
    1222             :                         for (unsigned int j = 0; j < x.phaseRMS[0].length(); ++j) {
    1223             :                                 
    1224             :                                 v_aux_phaseRMS.push_back(x.phaseRMS[i][j]);
    1225             :                                 
    1226             :                         }
    1227             :                         phaseRMS.push_back(v_aux_phaseRMS);                     
    1228             :                 }
    1229             :                         
    1230             :                 
    1231             :                 
    1232             :         
    1233             : 
    1234             :         
    1235             :                 
    1236             :                 
    1237             :                         
    1238             :                 statPhaseRMS .clear();
    1239             :         
    1240             :         vector<float> v_aux_statPhaseRMS;
    1241             :         
    1242             :                 for (unsigned int i = 0; i < x.statPhaseRMS.length(); ++i) {
    1243             :                         v_aux_statPhaseRMS.clear();
    1244             :                         for (unsigned int j = 0; j < x.statPhaseRMS[0].length(); ++j) {
    1245             :                                 
    1246             :                                 v_aux_statPhaseRMS.push_back(x.statPhaseRMS[i][j]);
    1247             :                                 
    1248             :                         }
    1249             :                         statPhaseRMS.push_back(v_aux_statPhaseRMS);                     
    1250             :                 }
    1251             :                         
    1252             :                 
    1253             :                 
    1254             :         
    1255             : 
    1256             :         
    1257             :                 
    1258             :                 correctionValidityExists = x.correctionValidityExists;
    1259             :                 if (x.correctionValidityExists) {
    1260             :                 
    1261             :                 
    1262             :                         
    1263             :                 correctionValidity .clear();
    1264             :                 for (unsigned int i = 0; i <x.correctionValidity.length(); ++i) {
    1265             :                         
    1266             :                         correctionValidity.push_back(x.correctionValidity[i]);
    1267             :                         
    1268             :                 }
    1269             :                         
    1270             :                 
    1271             :                 
    1272             :                 }
    1273             :                 
    1274             :         
    1275             : 
    1276             :         
    1277             :                 
    1278             :                 numAntennaExists = x.numAntennaExists;
    1279             :                 if (x.numAntennaExists) {
    1280             :                 
    1281             :                 
    1282             :                         
    1283             :                 setNumAntenna(x.numAntenna);
    1284             :                         
    1285             :                 
    1286             :                 
    1287             :                 }
    1288             :                 
    1289             :         
    1290             : 
    1291             :         
    1292             :                 
    1293             :                 singleAntennaNameExists = x.singleAntennaNameExists;
    1294             :                 if (x.singleAntennaNameExists) {
    1295             :                 
    1296             :                 
    1297             :                         
    1298             :                 singleAntennaName .clear();
    1299             :                 for (unsigned int i = 0; i <x.singleAntennaName.length(); ++i) {
    1300             :                         
    1301             :                         singleAntennaName.push_back(string (x.singleAntennaName[i]));
    1302             :                         
    1303             :                 }
    1304             :                         
    1305             :                 
    1306             :                 
    1307             :                 }
    1308             :                 
    1309             :         
    1310             : 
    1311             :         
    1312             :                 
    1313             :                 refAntennaNameExists = x.refAntennaNameExists;
    1314             :                 if (x.refAntennaNameExists) {
    1315             :                 
    1316             :                 
    1317             :                         
    1318             :                 setRefAntennaName(string (x.refAntennaName));
    1319             :                         
    1320             :                 
    1321             :                 
    1322             :                 }
    1323             :                 
    1324             :         
    1325             : 
    1326             :         
    1327             :                 
    1328             :                 phaseAntExists = x.phaseAntExists;
    1329             :                 if (x.phaseAntExists) {
    1330             :                 
    1331             :                 
    1332             :                         
    1333             :                 phaseAnt .clear();
    1334             :         
    1335             :         vector<float> v_aux_phaseAnt;
    1336             :         
    1337             :                 for (unsigned int i = 0; i < x.phaseAnt.length(); ++i) {
    1338             :                         v_aux_phaseAnt.clear();
    1339             :                         for (unsigned int j = 0; j < x.phaseAnt[0].length(); ++j) {
    1340             :                                 
    1341             :                                 v_aux_phaseAnt.push_back(x.phaseAnt[i][j]);
    1342             :                                 
    1343             :                         }
    1344             :                         phaseAnt.push_back(v_aux_phaseAnt);                     
    1345             :                 }
    1346             :                         
    1347             :                 
    1348             :                 
    1349             :                 }
    1350             :                 
    1351             :         
    1352             : 
    1353             :         
    1354             :                 
    1355             :                 phaseAntRMSExists = x.phaseAntRMSExists;
    1356             :                 if (x.phaseAntRMSExists) {
    1357             :                 
    1358             :                 
    1359             :                         
    1360             :                 phaseAntRMS .clear();
    1361             :         
    1362             :         vector<float> v_aux_phaseAntRMS;
    1363             :         
    1364             :                 for (unsigned int i = 0; i < x.phaseAntRMS.length(); ++i) {
    1365             :                         v_aux_phaseAntRMS.clear();
    1366             :                         for (unsigned int j = 0; j < x.phaseAntRMS[0].length(); ++j) {
    1367             :                                 
    1368             :                                 v_aux_phaseAntRMS.push_back(x.phaseAntRMS[i][j]);
    1369             :                                 
    1370             :                         }
    1371             :                         phaseAntRMS.push_back(v_aux_phaseAntRMS);                       
    1372             :                 }
    1373             :                         
    1374             :                 
    1375             :                 
    1376             :                 }
    1377             :                 
    1378             :         
    1379             : 
    1380             :         
    1381             :         
    1382             :                 
    1383             :         
    1384             :                 
    1385             :                 
    1386             :                         
    1387             :                 setCalDataId(Tag (x.calDataId));
    1388             :                         
    1389             :                 
    1390             :                 
    1391             :         
    1392             : 
    1393             :         
    1394             :                 
    1395             :                 
    1396             :                         
    1397             :                 setCalReductionId(Tag (x.calReductionId));
    1398             :                         
    1399             :                 
    1400             :                 
    1401             :         
    1402             : 
    1403             :         
    1404             :                 
    1405             :         
    1406             : 
    1407             :         
    1408             : 
    1409             :                 } catch (const IllegalAccessException &err) {
    1410             :                         throw ConversionException (err.getMessage(),"CalPhase");
    1411             :                 }
    1412             :         }
    1413             : #endif
    1414             :         
    1415             :         /**
    1416             :          * Return this row in the form of an XML string.
    1417             :          * @return The values of this row as an XML string.
    1418             :          */
    1419           0 :         string CalPhaseRow::toXML() const {
    1420           0 :                 string buf;
    1421           0 :                 buf.append("<row> \n");
    1422             :                 
    1423             :         
    1424             :                 
    1425             :         
    1426             :                 
    1427             :                 
    1428           0 :                         buf.append(EnumerationParser::toXML("basebandName", basebandName));
    1429             :                 
    1430             :                 
    1431             :         
    1432             : 
    1433             :         
    1434             :                 
    1435             :                 
    1436           0 :                         buf.append(EnumerationParser::toXML("receiverBand", receiverBand));
    1437             :                 
    1438             :                 
    1439             :         
    1440             : 
    1441             :         
    1442             :                 
    1443             :                 
    1444           0 :                         buf.append(EnumerationParser::toXML("atmPhaseCorrection", atmPhaseCorrection));
    1445             :                 
    1446             :                 
    1447             :         
    1448             : 
    1449             :         
    1450             :                 
    1451             :                 
    1452           0 :                 Parser::toXML(startValidTime, "startValidTime", buf);
    1453             :                 
    1454             :                 
    1455             :         
    1456             : 
    1457             :         
    1458             :                 
    1459             :                 
    1460           0 :                 Parser::toXML(endValidTime, "endValidTime", buf);
    1461             :                 
    1462             :                 
    1463             :         
    1464             : 
    1465             :         
    1466             :                 
    1467             :                 
    1468           0 :                 Parser::toXML(numBaseline, "numBaseline", buf);
    1469             :                 
    1470             :                 
    1471             :         
    1472             : 
    1473             :         
    1474             :                 
    1475             :                 
    1476           0 :                 Parser::toXML(numReceptor, "numReceptor", buf);
    1477             :                 
    1478             :                 
    1479             :         
    1480             : 
    1481             :         
    1482             :                 
    1483             :                 
    1484           0 :                 Parser::toXML(ampli, "ampli", buf);
    1485             :                 
    1486             :                 
    1487             :         
    1488             : 
    1489             :         
    1490             :                 
    1491             :                 
    1492           0 :                 Parser::toXML(antennaNames, "antennaNames", buf);
    1493             :                 
    1494             :                 
    1495             :         
    1496             : 
    1497             :         
    1498             :                 
    1499             :                 
    1500           0 :                 Parser::toXML(baselineLengths, "baselineLengths", buf);
    1501             :                 
    1502             :                 
    1503             :         
    1504             : 
    1505             :         
    1506             :                 
    1507             :                 
    1508           0 :                 Parser::toXML(decorrelationFactor, "decorrelationFactor", buf);
    1509             :                 
    1510             :                 
    1511             :         
    1512             : 
    1513             :         
    1514             :                 
    1515             :                 
    1516           0 :                 Parser::toXML(direction, "direction", buf);
    1517             :                 
    1518             :                 
    1519             :         
    1520             : 
    1521             :         
    1522             :                 
    1523             :                 
    1524           0 :                 Parser::toXML(frequencyRange, "frequencyRange", buf);
    1525             :                 
    1526             :                 
    1527             :         
    1528             : 
    1529             :         
    1530             :                 
    1531             :                 
    1532           0 :                 Parser::toXML(integrationTime, "integrationTime", buf);
    1533             :                 
    1534             :                 
    1535             :         
    1536             : 
    1537             :         
    1538             :                 
    1539             :                 
    1540           0 :                 Parser::toXML(phase, "phase", buf);
    1541             :                 
    1542             :                 
    1543             :         
    1544             : 
    1545             :         
    1546             :                 
    1547             :                 
    1548           0 :                         buf.append(EnumerationParser::toXML("polarizationTypes", polarizationTypes));
    1549             :                 
    1550             :                 
    1551             :         
    1552             : 
    1553             :         
    1554             :                 
    1555             :                 
    1556           0 :                 Parser::toXML(phaseRMS, "phaseRMS", buf);
    1557             :                 
    1558             :                 
    1559             :         
    1560             : 
    1561             :         
    1562             :                 
    1563             :                 
    1564           0 :                 Parser::toXML(statPhaseRMS, "statPhaseRMS", buf);
    1565             :                 
    1566             :                 
    1567             :         
    1568             : 
    1569             :         
    1570             :                 
    1571           0 :                 if (correctionValidityExists) {
    1572             :                 
    1573             :                 
    1574           0 :                 Parser::toXML(correctionValidity, "correctionValidity", buf);
    1575             :                 
    1576             :                 
    1577             :                 }
    1578             :                 
    1579             :         
    1580             : 
    1581             :         
    1582             :                 
    1583           0 :                 if (numAntennaExists) {
    1584             :                 
    1585             :                 
    1586           0 :                 Parser::toXML(numAntenna, "numAntenna", buf);
    1587             :                 
    1588             :                 
    1589             :                 }
    1590             :                 
    1591             :         
    1592             : 
    1593             :         
    1594             :                 
    1595           0 :                 if (singleAntennaNameExists) {
    1596             :                 
    1597             :                 
    1598           0 :                 Parser::toXML(singleAntennaName, "singleAntennaName", buf);
    1599             :                 
    1600             :                 
    1601             :                 }
    1602             :                 
    1603             :         
    1604             : 
    1605             :         
    1606             :                 
    1607           0 :                 if (refAntennaNameExists) {
    1608             :                 
    1609             :                 
    1610           0 :                 Parser::toXML(refAntennaName, "refAntennaName", buf);
    1611             :                 
    1612             :                 
    1613             :                 }
    1614             :                 
    1615             :         
    1616             : 
    1617             :         
    1618             :                 
    1619           0 :                 if (phaseAntExists) {
    1620             :                 
    1621             :                 
    1622           0 :                 Parser::toXML(phaseAnt, "phaseAnt", buf);
    1623             :                 
    1624             :                 
    1625             :                 }
    1626             :                 
    1627             :         
    1628             : 
    1629             :         
    1630             :                 
    1631           0 :                 if (phaseAntRMSExists) {
    1632             :                 
    1633             :                 
    1634           0 :                 Parser::toXML(phaseAntRMS, "phaseAntRMS", buf);
    1635             :                 
    1636             :                 
    1637             :                 }
    1638             :                 
    1639             :         
    1640             : 
    1641             :         
    1642             :         
    1643             :                 
    1644             :         
    1645             :                 
    1646             :                 
    1647           0 :                 Parser::toXML(calDataId, "calDataId", buf);
    1648             :                 
    1649             :                 
    1650             :         
    1651             : 
    1652             :         
    1653             :                 
    1654             :                 
    1655           0 :                 Parser::toXML(calReductionId, "calReductionId", buf);
    1656             :                 
    1657             :                 
    1658             :         
    1659             : 
    1660             :         
    1661             :                 
    1662             :         
    1663             : 
    1664             :         
    1665             : 
    1666             :                 
    1667           0 :                 buf.append("</row>\n");
    1668           0 :                 return buf;
    1669           0 :         }
    1670             : 
    1671             :         /**
    1672             :          * Fill the values of this row from an XML string 
    1673             :          * that was produced by the toXML() method.
    1674             :          * @param x The XML string being used to set the values of this row.
    1675             :          */
    1676           0 :         void CalPhaseRow::setFromXML (string rowDoc) {
    1677           0 :                 Parser row(rowDoc);
    1678           0 :                 string s = "";
    1679             :                 try {
    1680             :         
    1681             :                 
    1682             :         
    1683             :                 
    1684             :                 
    1685             :                 
    1686           0 :                 basebandName = EnumerationParser::getBasebandName("basebandName","CalPhase",rowDoc);
    1687             :                 
    1688             :                 
    1689             :                 
    1690             :         
    1691             : 
    1692             :         
    1693             :                 
    1694             :                 
    1695             :                 
    1696           0 :                 receiverBand = EnumerationParser::getReceiverBand("receiverBand","CalPhase",rowDoc);
    1697             :                 
    1698             :                 
    1699             :                 
    1700             :         
    1701             : 
    1702             :         
    1703             :                 
    1704             :                 
    1705             :                 
    1706           0 :                 atmPhaseCorrection = EnumerationParser::getAtmPhaseCorrection("atmPhaseCorrection","CalPhase",rowDoc);
    1707             :                 
    1708             :                 
    1709             :                 
    1710             :         
    1711             : 
    1712             :         
    1713             :                 
    1714             :                         
    1715           0 :                 setStartValidTime(Parser::getArrayTime("startValidTime","CalPhase",rowDoc));
    1716             :                         
    1717             :                 
    1718             :         
    1719             : 
    1720             :         
    1721             :                 
    1722             :                         
    1723           0 :                 setEndValidTime(Parser::getArrayTime("endValidTime","CalPhase",rowDoc));
    1724             :                         
    1725             :                 
    1726             :         
    1727             : 
    1728             :         
    1729             :                 
    1730             :                         
    1731           0 :                 setNumBaseline(Parser::getInteger("numBaseline","CalPhase",rowDoc));
    1732             :                         
    1733             :                 
    1734             :         
    1735             : 
    1736             :         
    1737             :                 
    1738             :                         
    1739           0 :                 setNumReceptor(Parser::getInteger("numReceptor","CalPhase",rowDoc));
    1740             :                         
    1741             :                 
    1742             :         
    1743             : 
    1744             :         
    1745             :                 
    1746             :                         
    1747             :                                         
    1748           0 :                 setAmpli(Parser::get2DFloat("ampli","CalPhase",rowDoc));
    1749             :                                 
    1750             :                         
    1751             :                 
    1752             :         
    1753             : 
    1754             :         
    1755             :                 
    1756             :                         
    1757             :                                         
    1758           0 :                 setAntennaNames(Parser::get2DString("antennaNames","CalPhase",rowDoc));
    1759             :                                 
    1760             :                         
    1761             :                 
    1762             :         
    1763             : 
    1764             :         
    1765             :                 
    1766             :                         
    1767             :                                         
    1768           0 :                 setBaselineLengths(Parser::get1DLength("baselineLengths","CalPhase",rowDoc));
    1769             :                                 
    1770             :                         
    1771             :                 
    1772             :         
    1773             : 
    1774             :         
    1775             :                 
    1776             :                         
    1777             :                                         
    1778           0 :                 setDecorrelationFactor(Parser::get2DFloat("decorrelationFactor","CalPhase",rowDoc));
    1779             :                                 
    1780             :                         
    1781             :                 
    1782             :         
    1783             : 
    1784             :         
    1785             :                 
    1786             :                         
    1787             :                                         
    1788           0 :                 setDirection(Parser::get1DAngle("direction","CalPhase",rowDoc));
    1789             :                                 
    1790             :                         
    1791             :                 
    1792             :         
    1793             : 
    1794             :         
    1795             :                 
    1796             :                         
    1797             :                                         
    1798           0 :                 setFrequencyRange(Parser::get1DFrequency("frequencyRange","CalPhase",rowDoc));
    1799             :                                 
    1800             :                         
    1801             :                 
    1802             :         
    1803             : 
    1804             :         
    1805             :                 
    1806             :                         
    1807           0 :                 setIntegrationTime(Parser::getInterval("integrationTime","CalPhase",rowDoc));
    1808             :                         
    1809             :                 
    1810             :         
    1811             : 
    1812             :         
    1813             :                 
    1814             :                         
    1815             :                                         
    1816           0 :                 setPhase(Parser::get2DFloat("phase","CalPhase",rowDoc));
    1817             :                                 
    1818             :                         
    1819             :                 
    1820             :         
    1821             : 
    1822             :         
    1823             :                 
    1824             :                 
    1825             :                 
    1826           0 :                 polarizationTypes = EnumerationParser::getPolarizationType1D("polarizationTypes","CalPhase",rowDoc);                        
    1827             :                 
    1828             :                 
    1829             :                 
    1830             :         
    1831             : 
    1832             :         
    1833             :                 
    1834             :                         
    1835             :                                         
    1836           0 :                 setPhaseRMS(Parser::get2DFloat("phaseRMS","CalPhase",rowDoc));
    1837             :                                 
    1838             :                         
    1839             :                 
    1840             :         
    1841             : 
    1842             :         
    1843             :                 
    1844             :                         
    1845             :                                         
    1846           0 :                 setStatPhaseRMS(Parser::get2DFloat("statPhaseRMS","CalPhase",rowDoc));
    1847             :                                 
    1848             :                         
    1849             :                 
    1850             :         
    1851             : 
    1852             :         
    1853             :                 
    1854           0 :         if (row.isStr("<correctionValidity>")) {
    1855             :                         
    1856             :                                                                 
    1857           0 :                         setCorrectionValidity(Parser::get1DBoolean("correctionValidity","CalPhase",rowDoc));
    1858             :                                 
    1859             :                         
    1860             :                 }
    1861             :                 
    1862             :         
    1863             : 
    1864             :         
    1865             :                 
    1866           0 :         if (row.isStr("<numAntenna>")) {
    1867             :                         
    1868           0 :                         setNumAntenna(Parser::getInteger("numAntenna","CalPhase",rowDoc));
    1869             :                         
    1870             :                 }
    1871             :                 
    1872             :         
    1873             : 
    1874             :         
    1875             :                 
    1876           0 :         if (row.isStr("<singleAntennaName>")) {
    1877             :                         
    1878             :                                                                 
    1879           0 :                         setSingleAntennaName(Parser::get1DString("singleAntennaName","CalPhase",rowDoc));
    1880             :                                 
    1881             :                         
    1882             :                 }
    1883             :                 
    1884             :         
    1885             : 
    1886             :         
    1887             :                 
    1888           0 :         if (row.isStr("<refAntennaName>")) {
    1889             :                         
    1890           0 :                         setRefAntennaName(Parser::getString("refAntennaName","CalPhase",rowDoc));
    1891             :                         
    1892             :                 }
    1893             :                 
    1894             :         
    1895             : 
    1896             :         
    1897             :                 
    1898           0 :         if (row.isStr("<phaseAnt>")) {
    1899             :                         
    1900             :                                                                 
    1901           0 :                         setPhaseAnt(Parser::get2DFloat("phaseAnt","CalPhase",rowDoc));
    1902             :                                 
    1903             :                         
    1904             :                 }
    1905             :                 
    1906             :         
    1907             : 
    1908             :         
    1909             :                 
    1910           0 :         if (row.isStr("<phaseAntRMS>")) {
    1911             :                         
    1912             :                                                                 
    1913           0 :                         setPhaseAntRMS(Parser::get2DFloat("phaseAntRMS","CalPhase",rowDoc));
    1914             :                                 
    1915             :                         
    1916             :                 }
    1917             :                 
    1918             :         
    1919             : 
    1920             :         
    1921             :         
    1922             :                 
    1923             :         
    1924             :                 
    1925             :                         
    1926           0 :                 setCalDataId(Parser::getTag("calDataId","CalData",rowDoc));
    1927             :                         
    1928             :                 
    1929             :         
    1930             : 
    1931             :         
    1932             :                 
    1933             :                         
    1934           0 :                 setCalReductionId(Parser::getTag("calReductionId","CalReduction",rowDoc));
    1935             :                         
    1936             :                 
    1937             :         
    1938             : 
    1939             :         
    1940             :                 
    1941             :         
    1942             : 
    1943             :         
    1944             : 
    1945           0 :                 } catch (const IllegalAccessException &err) {
    1946           0 :                         throw ConversionException (err.getMessage(),"CalPhase");
    1947           0 :                 }
    1948           0 :         }
    1949             :         
    1950           0 :         void CalPhaseRow::toBin(EndianOSStream& eoss) {
    1951             :         
    1952             :         
    1953             :         
    1954             :         
    1955             :                 
    1956             :                                         
    1957           0 :                 eoss.writeString(CBasebandName::name(basebandName));
    1958             :                         /* eoss.writeInt(basebandName); */
    1959             :                                 
    1960             :                 
    1961             :         
    1962             : 
    1963             :         
    1964             :         
    1965             :                 
    1966             :                                         
    1967           0 :                 eoss.writeString(CReceiverBand::name(receiverBand));
    1968             :                         /* eoss.writeInt(receiverBand); */
    1969             :                                 
    1970             :                 
    1971             :         
    1972             : 
    1973             :         
    1974             :         
    1975             :                 
    1976             :                                         
    1977           0 :                 eoss.writeString(CAtmPhaseCorrection::name(atmPhaseCorrection));
    1978             :                         /* eoss.writeInt(atmPhaseCorrection); */
    1979             :                                 
    1980             :                 
    1981             :         
    1982             : 
    1983             :         
    1984             :         
    1985             :                 
    1986           0 :         calDataId.toBin(eoss);
    1987             :                 
    1988             :         
    1989             : 
    1990             :         
    1991             :         
    1992             :                 
    1993           0 :         calReductionId.toBin(eoss);
    1994             :                 
    1995             :         
    1996             : 
    1997             :         
    1998             :         
    1999             :                 
    2000           0 :         startValidTime.toBin(eoss);
    2001             :                 
    2002             :         
    2003             : 
    2004             :         
    2005             :         
    2006             :                 
    2007           0 :         endValidTime.toBin(eoss);
    2008             :                 
    2009             :         
    2010             : 
    2011             :         
    2012             :         
    2013             :                 
    2014             :                                                 
    2015           0 :                         eoss.writeInt(numBaseline);
    2016             :                                 
    2017             :                 
    2018             :         
    2019             : 
    2020             :         
    2021             :         
    2022             :                 
    2023             :                                                 
    2024           0 :                         eoss.writeInt(numReceptor);
    2025             :                                 
    2026             :                 
    2027             :         
    2028             : 
    2029             :         
    2030             :         
    2031             :                 
    2032             :                 
    2033             :                         
    2034           0 :                 eoss.writeInt((int) ampli.size());
    2035           0 :                 eoss.writeInt((int) ampli.at(0).size());
    2036           0 :                 for (unsigned int i = 0; i < ampli.size(); i++) 
    2037           0 :                         for (unsigned int j = 0;  j < ampli.at(0).size(); j++) 
    2038             :                                                          
    2039           0 :                                 eoss.writeFloat(ampli.at(i).at(j));
    2040             :                                 
    2041             :         
    2042             :                                                 
    2043             :                 
    2044             :         
    2045             : 
    2046             :         
    2047             :         
    2048             :                 
    2049             :                 
    2050             :                         
    2051           0 :                 eoss.writeInt((int) antennaNames.size());
    2052           0 :                 eoss.writeInt((int) antennaNames.at(0).size());
    2053           0 :                 for (unsigned int i = 0; i < antennaNames.size(); i++) 
    2054           0 :                         for (unsigned int j = 0;  j < antennaNames.at(0).size(); j++) 
    2055             :                                                          
    2056           0 :                                 eoss.writeString(antennaNames.at(i).at(j));
    2057             :                                 
    2058             :         
    2059             :                                                 
    2060             :                 
    2061             :         
    2062             : 
    2063             :         
    2064             :         
    2065             :                 
    2066           0 :         Length::toBin(baselineLengths, eoss);
    2067             :                 
    2068             :         
    2069             : 
    2070             :         
    2071             :         
    2072             :                 
    2073             :                 
    2074             :                         
    2075           0 :                 eoss.writeInt((int) decorrelationFactor.size());
    2076           0 :                 eoss.writeInt((int) decorrelationFactor.at(0).size());
    2077           0 :                 for (unsigned int i = 0; i < decorrelationFactor.size(); i++) 
    2078           0 :                         for (unsigned int j = 0;  j < decorrelationFactor.at(0).size(); j++) 
    2079             :                                                          
    2080           0 :                                 eoss.writeFloat(decorrelationFactor.at(i).at(j));
    2081             :                                 
    2082             :         
    2083             :                                                 
    2084             :                 
    2085             :         
    2086             : 
    2087             :         
    2088             :         
    2089             :                 
    2090           0 :         Angle::toBin(direction, eoss);
    2091             :                 
    2092             :         
    2093             : 
    2094             :         
    2095             :         
    2096             :                 
    2097           0 :         Frequency::toBin(frequencyRange, eoss);
    2098             :                 
    2099             :         
    2100             : 
    2101             :         
    2102             :         
    2103             :                 
    2104           0 :         integrationTime.toBin(eoss);
    2105             :                 
    2106             :         
    2107             : 
    2108             :         
    2109             :         
    2110             :                 
    2111             :                 
    2112             :                         
    2113           0 :                 eoss.writeInt((int) phase.size());
    2114           0 :                 eoss.writeInt((int) phase.at(0).size());
    2115           0 :                 for (unsigned int i = 0; i < phase.size(); i++) 
    2116           0 :                         for (unsigned int j = 0;  j < phase.at(0).size(); j++) 
    2117             :                                                          
    2118           0 :                                 eoss.writeFloat(phase.at(i).at(j));
    2119             :                                 
    2120             :         
    2121             :                                                 
    2122             :                 
    2123             :         
    2124             : 
    2125             :         
    2126             :         
    2127             :                 
    2128             :                 
    2129             :                         
    2130           0 :                 eoss.writeInt((int) polarizationTypes.size());
    2131           0 :                 for (unsigned int i = 0; i < polarizationTypes.size(); i++)
    2132             :                                 
    2133           0 :                         eoss.writeString(CPolarizationType::name(polarizationTypes.at(i)));
    2134             :                         /* eoss.writeInt(polarizationTypes.at(i)); */
    2135             :                                 
    2136             :                                 
    2137             :                                                 
    2138             :                 
    2139             :         
    2140             : 
    2141             :         
    2142             :         
    2143             :                 
    2144             :                 
    2145             :                         
    2146           0 :                 eoss.writeInt((int) phaseRMS.size());
    2147           0 :                 eoss.writeInt((int) phaseRMS.at(0).size());
    2148           0 :                 for (unsigned int i = 0; i < phaseRMS.size(); i++) 
    2149           0 :                         for (unsigned int j = 0;  j < phaseRMS.at(0).size(); j++) 
    2150             :                                                          
    2151           0 :                                 eoss.writeFloat(phaseRMS.at(i).at(j));
    2152             :                                 
    2153             :         
    2154             :                                                 
    2155             :                 
    2156             :         
    2157             : 
    2158             :         
    2159             :         
    2160             :                 
    2161             :                 
    2162             :                         
    2163           0 :                 eoss.writeInt((int) statPhaseRMS.size());
    2164           0 :                 eoss.writeInt((int) statPhaseRMS.at(0).size());
    2165           0 :                 for (unsigned int i = 0; i < statPhaseRMS.size(); i++) 
    2166           0 :                         for (unsigned int j = 0;  j < statPhaseRMS.at(0).size(); j++) 
    2167             :                                                          
    2168           0 :                                 eoss.writeFloat(statPhaseRMS.at(i).at(j));
    2169             :                                 
    2170             :         
    2171             :                                                 
    2172             :                 
    2173             :         
    2174             : 
    2175             : 
    2176             :         
    2177             :         
    2178           0 :         eoss.writeBoolean(correctionValidityExists);
    2179           0 :         if (correctionValidityExists) {
    2180             :         
    2181             :         
    2182             :         
    2183             :                 
    2184             :                 
    2185             :                         
    2186           0 :                 eoss.writeInt((int) correctionValidity.size());
    2187           0 :                 for (unsigned int i = 0; i < correctionValidity.size(); i++)
    2188             :                                 
    2189           0 :                         eoss.writeBoolean(correctionValidity.at(i));
    2190             :                                 
    2191             :                                 
    2192             :                                                 
    2193             :                 
    2194             :         
    2195             : 
    2196             :         }
    2197             : 
    2198           0 :         eoss.writeBoolean(numAntennaExists);
    2199           0 :         if (numAntennaExists) {
    2200             :         
    2201             :         
    2202             :         
    2203             :                 
    2204             :                                                 
    2205           0 :                         eoss.writeInt(numAntenna);
    2206             :                                 
    2207             :                 
    2208             :         
    2209             : 
    2210             :         }
    2211             : 
    2212           0 :         eoss.writeBoolean(singleAntennaNameExists);
    2213           0 :         if (singleAntennaNameExists) {
    2214             :         
    2215             :         
    2216             :         
    2217             :                 
    2218             :                 
    2219             :                         
    2220           0 :                 eoss.writeInt((int) singleAntennaName.size());
    2221           0 :                 for (unsigned int i = 0; i < singleAntennaName.size(); i++)
    2222             :                                 
    2223           0 :                         eoss.writeString(singleAntennaName.at(i));
    2224             :                                 
    2225             :                                 
    2226             :                                                 
    2227             :                 
    2228             :         
    2229             : 
    2230             :         }
    2231             : 
    2232           0 :         eoss.writeBoolean(refAntennaNameExists);
    2233           0 :         if (refAntennaNameExists) {
    2234             :         
    2235             :         
    2236             :         
    2237             :                 
    2238             :                                                 
    2239           0 :                         eoss.writeString(refAntennaName);
    2240             :                                 
    2241             :                 
    2242             :         
    2243             : 
    2244             :         }
    2245             : 
    2246           0 :         eoss.writeBoolean(phaseAntExists);
    2247           0 :         if (phaseAntExists) {
    2248             :         
    2249             :         
    2250             :         
    2251             :                 
    2252             :                 
    2253             :                         
    2254           0 :                 eoss.writeInt((int) phaseAnt.size());
    2255           0 :                 eoss.writeInt((int) phaseAnt.at(0).size());
    2256           0 :                 for (unsigned int i = 0; i < phaseAnt.size(); i++) 
    2257           0 :                         for (unsigned int j = 0;  j < phaseAnt.at(0).size(); j++) 
    2258             :                                                          
    2259           0 :                                 eoss.writeFloat(phaseAnt.at(i).at(j));
    2260             :                                 
    2261             :         
    2262             :                                                 
    2263             :                 
    2264             :         
    2265             : 
    2266             :         }
    2267             : 
    2268           0 :         eoss.writeBoolean(phaseAntRMSExists);
    2269           0 :         if (phaseAntRMSExists) {
    2270             :         
    2271             :         
    2272             :         
    2273             :                 
    2274             :                 
    2275             :                         
    2276           0 :                 eoss.writeInt((int) phaseAntRMS.size());
    2277           0 :                 eoss.writeInt((int) phaseAntRMS.at(0).size());
    2278           0 :                 for (unsigned int i = 0; i < phaseAntRMS.size(); i++) 
    2279           0 :                         for (unsigned int j = 0;  j < phaseAntRMS.at(0).size(); j++) 
    2280             :                                                          
    2281           0 :                                 eoss.writeFloat(phaseAntRMS.at(i).at(j));
    2282             :                                 
    2283             :         
    2284             :                                                 
    2285             :                 
    2286             :         
    2287             : 
    2288             :         }
    2289             : 
    2290           0 :         }
    2291             :         
    2292           0 : void CalPhaseRow::basebandNameFromBin(EndianIStream& eis) {
    2293             :                 
    2294             :         
    2295             :         
    2296             :                 
    2297             :                         
    2298           0 :                 basebandName = CBasebandName::literal(eis.readString());
    2299             :                         
    2300             :                 
    2301             :         
    2302             :         
    2303           0 : }
    2304           0 : void CalPhaseRow::receiverBandFromBin(EndianIStream& eis) {
    2305             :                 
    2306             :         
    2307             :         
    2308             :                 
    2309             :                         
    2310           0 :                 receiverBand = CReceiverBand::literal(eis.readString());
    2311             :                         
    2312             :                 
    2313             :         
    2314             :         
    2315           0 : }
    2316           0 : void CalPhaseRow::atmPhaseCorrectionFromBin(EndianIStream& eis) {
    2317             :                 
    2318             :         
    2319             :         
    2320             :                 
    2321             :                         
    2322           0 :                 atmPhaseCorrection = CAtmPhaseCorrection::literal(eis.readString());
    2323             :                         
    2324             :                 
    2325             :         
    2326             :         
    2327           0 : }
    2328           0 : void CalPhaseRow::calDataIdFromBin(EndianIStream& eis) {
    2329             :                 
    2330             :         
    2331             :                 
    2332             :                 
    2333           0 :                 calDataId =  Tag::fromBin(eis);
    2334             :                 
    2335             :         
    2336             :         
    2337           0 : }
    2338           0 : void CalPhaseRow::calReductionIdFromBin(EndianIStream& eis) {
    2339             :                 
    2340             :         
    2341             :                 
    2342             :                 
    2343           0 :                 calReductionId =  Tag::fromBin(eis);
    2344             :                 
    2345             :         
    2346             :         
    2347           0 : }
    2348           0 : void CalPhaseRow::startValidTimeFromBin(EndianIStream& eis) {
    2349             :                 
    2350             :         
    2351             :                 
    2352             :                 
    2353           0 :                 startValidTime =  ArrayTime::fromBin(eis);
    2354             :                 
    2355             :         
    2356             :         
    2357           0 : }
    2358           0 : void CalPhaseRow::endValidTimeFromBin(EndianIStream& eis) {
    2359             :                 
    2360             :         
    2361             :                 
    2362             :                 
    2363           0 :                 endValidTime =  ArrayTime::fromBin(eis);
    2364             :                 
    2365             :         
    2366             :         
    2367           0 : }
    2368           0 : void CalPhaseRow::numBaselineFromBin(EndianIStream& eis) {
    2369             :                 
    2370             :         
    2371             :         
    2372             :                 
    2373             :                         
    2374           0 :                 numBaseline =  eis.readInt();
    2375             :                         
    2376             :                 
    2377             :         
    2378             :         
    2379           0 : }
    2380           0 : void CalPhaseRow::numReceptorFromBin(EndianIStream& eis) {
    2381             :                 
    2382             :         
    2383             :         
    2384             :                 
    2385             :                         
    2386           0 :                 numReceptor =  eis.readInt();
    2387             :                         
    2388             :                 
    2389             :         
    2390             :         
    2391           0 : }
    2392           0 : void CalPhaseRow::ampliFromBin(EndianIStream& eis) {
    2393             :                 
    2394             :         
    2395             :         
    2396             :                 
    2397             :                         
    2398             :         
    2399           0 :                 ampli.clear();
    2400             :                 
    2401           0 :                 unsigned int ampliDim1 = eis.readInt();
    2402           0 :                 unsigned int ampliDim2 = eis.readInt();
    2403             :         
    2404           0 :                 vector <float> ampliAux1;
    2405             :         
    2406           0 :                 for (unsigned int i = 0; i < ampliDim1; i++) {
    2407           0 :                         ampliAux1.clear();
    2408           0 :                         for (unsigned int j = 0; j < ampliDim2 ; j++)                        
    2409             :                         
    2410           0 :                         ampliAux1.push_back(eis.readFloat());
    2411             :                         
    2412           0 :                         ampli.push_back(ampliAux1);
    2413             :                 }
    2414             :         
    2415             :         
    2416             : 
    2417             :                 
    2418             :         
    2419             :         
    2420           0 : }
    2421           0 : void CalPhaseRow::antennaNamesFromBin(EndianIStream& eis) {
    2422             :                 
    2423             :         
    2424             :         
    2425             :                 
    2426             :                         
    2427             :         
    2428           0 :                 antennaNames.clear();
    2429             :                 
    2430           0 :                 unsigned int antennaNamesDim1 = eis.readInt();
    2431           0 :                 unsigned int antennaNamesDim2 = eis.readInt();
    2432             :         
    2433           0 :                 vector <string> antennaNamesAux1;
    2434             :         
    2435           0 :                 for (unsigned int i = 0; i < antennaNamesDim1; i++) {
    2436           0 :                         antennaNamesAux1.clear();
    2437           0 :                         for (unsigned int j = 0; j < antennaNamesDim2 ; j++)                 
    2438             :                         
    2439           0 :                         antennaNamesAux1.push_back(eis.readString());
    2440             :                         
    2441           0 :                         antennaNames.push_back(antennaNamesAux1);
    2442             :                 }
    2443             :         
    2444             :         
    2445             : 
    2446             :                 
    2447             :         
    2448             :         
    2449           0 : }
    2450           0 : void CalPhaseRow::baselineLengthsFromBin(EndianIStream& eis) {
    2451             :                 
    2452             :         
    2453             :                 
    2454             :                 
    2455             :                         
    2456             :         
    2457           0 :         baselineLengths = Length::from1DBin(eis);       
    2458             :         
    2459             : 
    2460             :                 
    2461             :         
    2462             :         
    2463           0 : }
    2464           0 : void CalPhaseRow::decorrelationFactorFromBin(EndianIStream& eis) {
    2465             :                 
    2466             :         
    2467             :         
    2468             :                 
    2469             :                         
    2470             :         
    2471           0 :                 decorrelationFactor.clear();
    2472             :                 
    2473           0 :                 unsigned int decorrelationFactorDim1 = eis.readInt();
    2474           0 :                 unsigned int decorrelationFactorDim2 = eis.readInt();
    2475             :         
    2476           0 :                 vector <float> decorrelationFactorAux1;
    2477             :         
    2478           0 :                 for (unsigned int i = 0; i < decorrelationFactorDim1; i++) {
    2479           0 :                         decorrelationFactorAux1.clear();
    2480           0 :                         for (unsigned int j = 0; j < decorrelationFactorDim2 ; j++)                  
    2481             :                         
    2482           0 :                         decorrelationFactorAux1.push_back(eis.readFloat());
    2483             :                         
    2484           0 :                         decorrelationFactor.push_back(decorrelationFactorAux1);
    2485             :                 }
    2486             :         
    2487             :         
    2488             : 
    2489             :                 
    2490             :         
    2491             :         
    2492           0 : }
    2493           0 : void CalPhaseRow::directionFromBin(EndianIStream& eis) {
    2494             :                 
    2495             :         
    2496             :                 
    2497             :                 
    2498             :                         
    2499             :         
    2500           0 :         direction = Angle::from1DBin(eis);      
    2501             :         
    2502             : 
    2503             :                 
    2504             :         
    2505             :         
    2506           0 : }
    2507           0 : void CalPhaseRow::frequencyRangeFromBin(EndianIStream& eis) {
    2508             :                 
    2509             :         
    2510             :                 
    2511             :                 
    2512             :                         
    2513             :         
    2514           0 :         frequencyRange = Frequency::from1DBin(eis);     
    2515             :         
    2516             : 
    2517             :                 
    2518             :         
    2519             :         
    2520           0 : }
    2521           0 : void CalPhaseRow::integrationTimeFromBin(EndianIStream& eis) {
    2522             :                 
    2523             :         
    2524             :                 
    2525             :                 
    2526           0 :                 integrationTime =  Interval::fromBin(eis);
    2527             :                 
    2528             :         
    2529             :         
    2530           0 : }
    2531           0 : void CalPhaseRow::phaseFromBin(EndianIStream& eis) {
    2532             :                 
    2533             :         
    2534             :         
    2535             :                 
    2536             :                         
    2537             :         
    2538           0 :                 phase.clear();
    2539             :                 
    2540           0 :                 unsigned int phaseDim1 = eis.readInt();
    2541           0 :                 unsigned int phaseDim2 = eis.readInt();
    2542             :         
    2543           0 :                 vector <float> phaseAux1;
    2544             :         
    2545           0 :                 for (unsigned int i = 0; i < phaseDim1; i++) {
    2546           0 :                         phaseAux1.clear();
    2547           0 :                         for (unsigned int j = 0; j < phaseDim2 ; j++)                        
    2548             :                         
    2549           0 :                         phaseAux1.push_back(eis.readFloat());
    2550             :                         
    2551           0 :                         phase.push_back(phaseAux1);
    2552             :                 }
    2553             :         
    2554             :         
    2555             : 
    2556             :                 
    2557             :         
    2558             :         
    2559           0 : }
    2560           0 : void CalPhaseRow::polarizationTypesFromBin(EndianIStream& eis) {
    2561             :                 
    2562             :         
    2563             :         
    2564             :                 
    2565             :                         
    2566             :         
    2567           0 :                 polarizationTypes.clear();
    2568             :                 
    2569           0 :                 unsigned int polarizationTypesDim1 = eis.readInt();
    2570           0 :                 for (unsigned int  i = 0 ; i < polarizationTypesDim1; i++)
    2571             :                         
    2572           0 :                         polarizationTypes.push_back(CPolarizationType::literal(eis.readString()));
    2573             :                         
    2574             :         
    2575             : 
    2576             :                 
    2577             :         
    2578             :         
    2579           0 : }
    2580           0 : void CalPhaseRow::phaseRMSFromBin(EndianIStream& eis) {
    2581             :                 
    2582             :         
    2583             :         
    2584             :                 
    2585             :                         
    2586             :         
    2587           0 :                 phaseRMS.clear();
    2588             :                 
    2589           0 :                 unsigned int phaseRMSDim1 = eis.readInt();
    2590           0 :                 unsigned int phaseRMSDim2 = eis.readInt();
    2591             :         
    2592           0 :                 vector <float> phaseRMSAux1;
    2593             :         
    2594           0 :                 for (unsigned int i = 0; i < phaseRMSDim1; i++) {
    2595           0 :                         phaseRMSAux1.clear();
    2596           0 :                         for (unsigned int j = 0; j < phaseRMSDim2 ; j++)                     
    2597             :                         
    2598           0 :                         phaseRMSAux1.push_back(eis.readFloat());
    2599             :                         
    2600           0 :                         phaseRMS.push_back(phaseRMSAux1);
    2601             :                 }
    2602             :         
    2603             :         
    2604             : 
    2605             :                 
    2606             :         
    2607             :         
    2608           0 : }
    2609           0 : void CalPhaseRow::statPhaseRMSFromBin(EndianIStream& eis) {
    2610             :                 
    2611             :         
    2612             :         
    2613             :                 
    2614             :                         
    2615             :         
    2616           0 :                 statPhaseRMS.clear();
    2617             :                 
    2618           0 :                 unsigned int statPhaseRMSDim1 = eis.readInt();
    2619           0 :                 unsigned int statPhaseRMSDim2 = eis.readInt();
    2620             :         
    2621           0 :                 vector <float> statPhaseRMSAux1;
    2622             :         
    2623           0 :                 for (unsigned int i = 0; i < statPhaseRMSDim1; i++) {
    2624           0 :                         statPhaseRMSAux1.clear();
    2625           0 :                         for (unsigned int j = 0; j < statPhaseRMSDim2 ; j++)                 
    2626             :                         
    2627           0 :                         statPhaseRMSAux1.push_back(eis.readFloat());
    2628             :                         
    2629           0 :                         statPhaseRMS.push_back(statPhaseRMSAux1);
    2630             :                 }
    2631             :         
    2632             :         
    2633             : 
    2634             :                 
    2635             :         
    2636             :         
    2637           0 : }
    2638             : 
    2639           0 : void CalPhaseRow::correctionValidityFromBin(EndianIStream& eis) {
    2640             :                 
    2641           0 :         correctionValidityExists = eis.readBoolean();
    2642           0 :         if (correctionValidityExists) {
    2643             :                 
    2644             :         
    2645             :         
    2646             :                 
    2647             :                         
    2648             :         
    2649           0 :                 correctionValidity.clear();
    2650             :                 
    2651           0 :                 unsigned int correctionValidityDim1 = eis.readInt();
    2652           0 :                 for (unsigned int  i = 0 ; i < correctionValidityDim1; i++)
    2653             :                         
    2654           0 :                         correctionValidity.push_back(eis.readBoolean());
    2655             :                         
    2656             :         
    2657             : 
    2658             :                 
    2659             :         
    2660             : 
    2661             :         }
    2662             :         
    2663           0 : }
    2664           0 : void CalPhaseRow::numAntennaFromBin(EndianIStream& eis) {
    2665             :                 
    2666           0 :         numAntennaExists = eis.readBoolean();
    2667           0 :         if (numAntennaExists) {
    2668             :                 
    2669             :         
    2670             :         
    2671             :                 
    2672             :                         
    2673           0 :                 numAntenna =  eis.readInt();
    2674             :                         
    2675             :                 
    2676             :         
    2677             : 
    2678             :         }
    2679             :         
    2680           0 : }
    2681           0 : void CalPhaseRow::singleAntennaNameFromBin(EndianIStream& eis) {
    2682             :                 
    2683           0 :         singleAntennaNameExists = eis.readBoolean();
    2684           0 :         if (singleAntennaNameExists) {
    2685             :                 
    2686             :         
    2687             :         
    2688             :                 
    2689             :                         
    2690             :         
    2691           0 :                 singleAntennaName.clear();
    2692             :                 
    2693           0 :                 unsigned int singleAntennaNameDim1 = eis.readInt();
    2694           0 :                 for (unsigned int  i = 0 ; i < singleAntennaNameDim1; i++)
    2695             :                         
    2696           0 :                         singleAntennaName.push_back(eis.readString());
    2697             :                         
    2698             :         
    2699             : 
    2700             :                 
    2701             :         
    2702             : 
    2703             :         }
    2704             :         
    2705           0 : }
    2706           0 : void CalPhaseRow::refAntennaNameFromBin(EndianIStream& eis) {
    2707             :                 
    2708           0 :         refAntennaNameExists = eis.readBoolean();
    2709           0 :         if (refAntennaNameExists) {
    2710             :                 
    2711             :         
    2712             :         
    2713             :                 
    2714             :                         
    2715           0 :                 refAntennaName =  eis.readString();
    2716             :                         
    2717             :                 
    2718             :         
    2719             : 
    2720             :         }
    2721             :         
    2722           0 : }
    2723           0 : void CalPhaseRow::phaseAntFromBin(EndianIStream& eis) {
    2724             :                 
    2725           0 :         phaseAntExists = eis.readBoolean();
    2726           0 :         if (phaseAntExists) {
    2727             :                 
    2728             :         
    2729             :         
    2730             :                 
    2731             :                         
    2732             :         
    2733           0 :                 phaseAnt.clear();
    2734             :                 
    2735           0 :                 unsigned int phaseAntDim1 = eis.readInt();
    2736           0 :                 unsigned int phaseAntDim2 = eis.readInt();
    2737             :         
    2738           0 :                 vector <float> phaseAntAux1;
    2739             :         
    2740           0 :                 for (unsigned int i = 0; i < phaseAntDim1; i++) {
    2741           0 :                         phaseAntAux1.clear();
    2742           0 :                         for (unsigned int j = 0; j < phaseAntDim2 ; j++)                     
    2743             :                         
    2744           0 :                         phaseAntAux1.push_back(eis.readFloat());
    2745             :                         
    2746           0 :                         phaseAnt.push_back(phaseAntAux1);
    2747             :                 }
    2748             :         
    2749             :         
    2750             : 
    2751             :                 
    2752             :         
    2753             : 
    2754           0 :         }
    2755             :         
    2756           0 : }
    2757           0 : void CalPhaseRow::phaseAntRMSFromBin(EndianIStream& eis) {
    2758             :                 
    2759           0 :         phaseAntRMSExists = eis.readBoolean();
    2760           0 :         if (phaseAntRMSExists) {
    2761             :                 
    2762             :         
    2763             :         
    2764             :                 
    2765             :                         
    2766             :         
    2767           0 :                 phaseAntRMS.clear();
    2768             :                 
    2769           0 :                 unsigned int phaseAntRMSDim1 = eis.readInt();
    2770           0 :                 unsigned int phaseAntRMSDim2 = eis.readInt();
    2771             :         
    2772           0 :                 vector <float> phaseAntRMSAux1;
    2773             :         
    2774           0 :                 for (unsigned int i = 0; i < phaseAntRMSDim1; i++) {
    2775           0 :                         phaseAntRMSAux1.clear();
    2776           0 :                         for (unsigned int j = 0; j < phaseAntRMSDim2 ; j++)                  
    2777             :                         
    2778           0 :                         phaseAntRMSAux1.push_back(eis.readFloat());
    2779             :                         
    2780           0 :                         phaseAntRMS.push_back(phaseAntRMSAux1);
    2781             :                 }
    2782             :         
    2783             :         
    2784             : 
    2785             :                 
    2786             :         
    2787             : 
    2788           0 :         }
    2789             :         
    2790           0 : }
    2791             :         
    2792             :         
    2793           0 :         CalPhaseRow* CalPhaseRow::fromBin(EndianIStream& eis, CalPhaseTable& table, const vector<string>& attributesSeq) {
    2794           0 :                 CalPhaseRow* row = new  CalPhaseRow(table);
    2795             :                 
    2796           0 :                 map<string, CalPhaseAttributeFromBin>::iterator iter ;
    2797           0 :                 for (unsigned int i = 0; i < attributesSeq.size(); i++) {
    2798           0 :                         iter = row->fromBinMethods.find(attributesSeq.at(i));
    2799           0 :                         if (iter != row->fromBinMethods.end()) {
    2800           0 :                                 (row->*(row->fromBinMethods[ attributesSeq.at(i) ] ))(eis);                       
    2801             :                         }
    2802             :                         else {
    2803           0 :                                 BinaryAttributeReaderFunctor* functorP = table.getUnknownAttributeBinaryReader(attributesSeq.at(i));
    2804           0 :                                 if (functorP)
    2805           0 :                                         (*functorP)(eis);
    2806             :                                 else
    2807           0 :                                         throw ConversionException("There is not method to read an attribute '"+attributesSeq.at(i)+"'.", "CalPhaseTable");
    2808             :                         }
    2809             :                                 
    2810             :                 }                               
    2811           0 :                 return row;
    2812             :         }
    2813             : 
    2814             :         //
    2815             :         // A collection of methods to set the value of the attributes from their textual value in the XML representation
    2816             :         // of one row.
    2817             :         //
    2818             :         
    2819             :         // Convert a string into an BasebandName 
    2820           0 :         void CalPhaseRow::basebandNameFromText(const string & s) {
    2821             :                  
    2822             :           
    2823           0 :                 basebandName = ASDMValuesParser::parse<BasebandNameMod::BasebandName>(s);
    2824             :           
    2825             :                 
    2826           0 :         }
    2827             :         
    2828             :         
    2829             :         // Convert a string into an ReceiverBand 
    2830           0 :         void CalPhaseRow::receiverBandFromText(const string & s) {
    2831             :                  
    2832             :           
    2833           0 :                 receiverBand = ASDMValuesParser::parse<ReceiverBandMod::ReceiverBand>(s);
    2834             :           
    2835             :                 
    2836           0 :         }
    2837             :         
    2838             :         
    2839             :         // Convert a string into an AtmPhaseCorrection 
    2840           0 :         void CalPhaseRow::atmPhaseCorrectionFromText(const string & s) {
    2841             :                  
    2842             :           
    2843           0 :                 atmPhaseCorrection = ASDMValuesParser::parse<AtmPhaseCorrectionMod::AtmPhaseCorrection>(s);
    2844             :           
    2845             :                 
    2846           0 :         }
    2847             :         
    2848             :         
    2849             :         // Convert a string into an Tag 
    2850           0 :         void CalPhaseRow::calDataIdFromText(const string & s) {
    2851             :                  
    2852             :           
    2853           0 :                 calDataId = ASDMValuesParser::parse<Tag>(s);
    2854             :           
    2855             :                 
    2856           0 :         }
    2857             :         
    2858             :         
    2859             :         // Convert a string into an Tag 
    2860           0 :         void CalPhaseRow::calReductionIdFromText(const string & s) {
    2861             :                  
    2862             :           
    2863           0 :                 calReductionId = ASDMValuesParser::parse<Tag>(s);
    2864             :           
    2865             :                 
    2866           0 :         }
    2867             :         
    2868             :         
    2869             :         // Convert a string into an ArrayTime 
    2870           0 :         void CalPhaseRow::startValidTimeFromText(const string & s) {
    2871             :                  
    2872             :           
    2873           0 :                 startValidTime = ASDMValuesParser::parse<ArrayTime>(s);
    2874             :           
    2875             :                 
    2876           0 :         }
    2877             :         
    2878             :         
    2879             :         // Convert a string into an ArrayTime 
    2880           0 :         void CalPhaseRow::endValidTimeFromText(const string & s) {
    2881             :                  
    2882             :           
    2883           0 :                 endValidTime = ASDMValuesParser::parse<ArrayTime>(s);
    2884             :           
    2885             :                 
    2886           0 :         }
    2887             :         
    2888             :         
    2889             :         // Convert a string into an int 
    2890           0 :         void CalPhaseRow::numBaselineFromText(const string & s) {
    2891             :                  
    2892             :           
    2893           0 :                 numBaseline = ASDMValuesParser::parse<int>(s);
    2894             :           
    2895             :                 
    2896           0 :         }
    2897             :         
    2898             :         
    2899             :         // Convert a string into an int 
    2900           0 :         void CalPhaseRow::numReceptorFromText(const string & s) {
    2901             :                  
    2902             :           
    2903           0 :                 numReceptor = ASDMValuesParser::parse<int>(s);
    2904             :           
    2905             :                 
    2906           0 :         }
    2907             :         
    2908             :         
    2909             :         // Convert a string into an float 
    2910           0 :         void CalPhaseRow::ampliFromText(const string & s) {
    2911             :                  
    2912             :           
    2913           0 :                 ampli = ASDMValuesParser::parse2D<float>(s);
    2914             :           
    2915             :                 
    2916           0 :         }
    2917             :         
    2918             :         
    2919             :         // Convert a string into an String 
    2920           0 :         void CalPhaseRow::antennaNamesFromText(const string & s) {
    2921             :                  
    2922             :           
    2923           0 :                 antennaNames = ASDMValuesParser::parse2D<string>(s);
    2924             :           
    2925             :                 
    2926           0 :         }
    2927             :         
    2928             :         
    2929             :         // Convert a string into an Length 
    2930           0 :         void CalPhaseRow::baselineLengthsFromText(const string & s) {
    2931             :                  
    2932             :           
    2933           0 :                 baselineLengths = ASDMValuesParser::parse1D<Length>(s);
    2934             :           
    2935             :                 
    2936           0 :         }
    2937             :         
    2938             :         
    2939             :         // Convert a string into an float 
    2940           0 :         void CalPhaseRow::decorrelationFactorFromText(const string & s) {
    2941             :                  
    2942             :           
    2943           0 :                 decorrelationFactor = ASDMValuesParser::parse2D<float>(s);
    2944             :           
    2945             :                 
    2946           0 :         }
    2947             :         
    2948             :         
    2949             :         // Convert a string into an Angle 
    2950           0 :         void CalPhaseRow::directionFromText(const string & s) {
    2951             :                  
    2952             :           
    2953           0 :                 direction = ASDMValuesParser::parse1D<Angle>(s);
    2954             :           
    2955             :                 
    2956           0 :         }
    2957             :         
    2958             :         
    2959             :         // Convert a string into an Frequency 
    2960           0 :         void CalPhaseRow::frequencyRangeFromText(const string & s) {
    2961             :                  
    2962             :           
    2963           0 :                 frequencyRange = ASDMValuesParser::parse1D<Frequency>(s);
    2964             :           
    2965             :                 
    2966           0 :         }
    2967             :         
    2968             :         
    2969             :         // Convert a string into an Interval 
    2970           0 :         void CalPhaseRow::integrationTimeFromText(const string & s) {
    2971             :                  
    2972             :           
    2973           0 :                 integrationTime = ASDMValuesParser::parse<Interval>(s);
    2974             :           
    2975             :                 
    2976           0 :         }
    2977             :         
    2978             :         
    2979             :         // Convert a string into an float 
    2980           0 :         void CalPhaseRow::phaseFromText(const string & s) {
    2981             :                  
    2982             :           
    2983           0 :                 phase = ASDMValuesParser::parse2D<float>(s);
    2984             :           
    2985             :                 
    2986           0 :         }
    2987             :         
    2988             :         
    2989             :         // Convert a string into an PolarizationType 
    2990           0 :         void CalPhaseRow::polarizationTypesFromText(const string & s) {
    2991             :                  
    2992             :           
    2993           0 :                 polarizationTypes = ASDMValuesParser::parse1D<PolarizationTypeMod::PolarizationType>(s);
    2994             :           
    2995             :                 
    2996           0 :         }
    2997             :         
    2998             :         
    2999             :         // Convert a string into an float 
    3000           0 :         void CalPhaseRow::phaseRMSFromText(const string & s) {
    3001             :                  
    3002             :           
    3003           0 :                 phaseRMS = ASDMValuesParser::parse2D<float>(s);
    3004             :           
    3005             :                 
    3006           0 :         }
    3007             :         
    3008             :         
    3009             :         // Convert a string into an float 
    3010           0 :         void CalPhaseRow::statPhaseRMSFromText(const string & s) {
    3011             :                  
    3012             :           
    3013           0 :                 statPhaseRMS = ASDMValuesParser::parse2D<float>(s);
    3014             :           
    3015             :                 
    3016           0 :         }
    3017             :         
    3018             : 
    3019             :         
    3020             :         // Convert a string into an boolean 
    3021           0 :         void CalPhaseRow::correctionValidityFromText(const string & s) {
    3022           0 :                 correctionValidityExists = true;
    3023             :                  
    3024             :           
    3025           0 :                 correctionValidity = ASDMValuesParser::parse1D<bool>(s);
    3026             :           
    3027             :                 
    3028           0 :         }
    3029             :         
    3030             :         
    3031             :         // Convert a string into an int 
    3032           0 :         void CalPhaseRow::numAntennaFromText(const string & s) {
    3033           0 :                 numAntennaExists = true;
    3034             :                  
    3035             :           
    3036           0 :                 numAntenna = ASDMValuesParser::parse<int>(s);
    3037             :           
    3038             :                 
    3039           0 :         }
    3040             :         
    3041             :         
    3042             :         // Convert a string into an String 
    3043           0 :         void CalPhaseRow::singleAntennaNameFromText(const string & s) {
    3044           0 :                 singleAntennaNameExists = true;
    3045             :                  
    3046             :           
    3047           0 :                 singleAntennaName = ASDMValuesParser::parse1D<string>(s);
    3048             :           
    3049             :                 
    3050           0 :         }
    3051             :         
    3052             :         
    3053             :         // Convert a string into an String 
    3054           0 :         void CalPhaseRow::refAntennaNameFromText(const string & s) {
    3055           0 :                 refAntennaNameExists = true;
    3056             :                  
    3057             :           
    3058           0 :                 refAntennaName = ASDMValuesParser::parse<string>(s);
    3059             :           
    3060             :                 
    3061           0 :         }
    3062             :         
    3063             :         
    3064             :         // Convert a string into an float 
    3065           0 :         void CalPhaseRow::phaseAntFromText(const string & s) {
    3066           0 :                 phaseAntExists = true;
    3067             :                  
    3068             :           
    3069           0 :                 phaseAnt = ASDMValuesParser::parse2D<float>(s);
    3070             :           
    3071             :                 
    3072           0 :         }
    3073             :         
    3074             :         
    3075             :         // Convert a string into an float 
    3076           0 :         void CalPhaseRow::phaseAntRMSFromText(const string & s) {
    3077           0 :                 phaseAntRMSExists = true;
    3078             :                  
    3079             :           
    3080           0 :                 phaseAntRMS = ASDMValuesParser::parse2D<float>(s);
    3081             :           
    3082             :                 
    3083           0 :         }
    3084             :         
    3085             :         
    3086             :         
    3087           0 :         void CalPhaseRow::fromText(const std::string& attributeName, const std::string&  t) {
    3088           0 :                 map<string, CalPhaseAttributeFromText>::iterator iter;
    3089           0 :                 if ((iter = fromTextMethods.find(attributeName)) == fromTextMethods.end())
    3090           0 :                         throw ConversionException("I do not know what to do with '"+attributeName+"' and its content '"+t+"' (while parsing an XML document)", "CalPhaseTable");
    3091           0 :                 (this->*(iter->second))(t);
    3092           0 :         }
    3093             :                         
    3094             :         ////////////////////////////////////////////////
    3095             :         // Intrinsic Table Attributes getters/setters //
    3096             :         ////////////////////////////////////////////////
    3097             :         
    3098             :         
    3099             : 
    3100             :         
    3101             :         /**
    3102             :          * Get basebandName.
    3103             :          * @return basebandName as BasebandNameMod::BasebandName
    3104             :          */
    3105           0 :         BasebandNameMod::BasebandName CalPhaseRow::getBasebandName() const {
    3106             :         
    3107           0 :                 return basebandName;
    3108             :         }
    3109             : 
    3110             :         /**
    3111             :          * Set basebandName with the specified BasebandNameMod::BasebandName.
    3112             :          * @param basebandName The BasebandNameMod::BasebandName value to which basebandName is to be set.
    3113             :          
    3114             :         
    3115             :                 
    3116             :          * @throw IllegalAccessException If an attempt is made to change this field after is has been added to the table.
    3117             :                 
    3118             :          */
    3119           0 :         void CalPhaseRow::setBasebandName (BasebandNameMod::BasebandName basebandName)  {
    3120             :         
    3121             :         
    3122           0 :                 if (hasBeenAdded) {
    3123             :                 
    3124           0 :                         throw IllegalAccessException("basebandName", "CalPhase");
    3125             :                 
    3126             :                 }
    3127             :         
    3128           0 :                 this->basebandName = basebandName;
    3129             :         
    3130           0 :         }
    3131             :         
    3132             :         
    3133             : 
    3134             :         
    3135             : 
    3136             :         
    3137             :         /**
    3138             :          * Get receiverBand.
    3139             :          * @return receiverBand as ReceiverBandMod::ReceiverBand
    3140             :          */
    3141           0 :         ReceiverBandMod::ReceiverBand CalPhaseRow::getReceiverBand() const {
    3142             :         
    3143           0 :                 return receiverBand;
    3144             :         }
    3145             : 
    3146             :         /**
    3147             :          * Set receiverBand with the specified ReceiverBandMod::ReceiverBand.
    3148             :          * @param receiverBand The ReceiverBandMod::ReceiverBand value to which receiverBand is to be set.
    3149             :          
    3150             :         
    3151             :                 
    3152             :          * @throw IllegalAccessException If an attempt is made to change this field after is has been added to the table.
    3153             :                 
    3154             :          */
    3155           0 :         void CalPhaseRow::setReceiverBand (ReceiverBandMod::ReceiverBand receiverBand)  {
    3156             :         
    3157             :         
    3158           0 :                 if (hasBeenAdded) {
    3159             :                 
    3160           0 :                         throw IllegalAccessException("receiverBand", "CalPhase");
    3161             :                 
    3162             :                 }
    3163             :         
    3164           0 :                 this->receiverBand = receiverBand;
    3165             :         
    3166           0 :         }
    3167             :         
    3168             :         
    3169             : 
    3170             :         
    3171             : 
    3172             :         
    3173             :         /**
    3174             :          * Get atmPhaseCorrection.
    3175             :          * @return atmPhaseCorrection as AtmPhaseCorrectionMod::AtmPhaseCorrection
    3176             :          */
    3177           0 :         AtmPhaseCorrectionMod::AtmPhaseCorrection CalPhaseRow::getAtmPhaseCorrection() const {
    3178             :         
    3179           0 :                 return atmPhaseCorrection;
    3180             :         }
    3181             : 
    3182             :         /**
    3183             :          * Set atmPhaseCorrection with the specified AtmPhaseCorrectionMod::AtmPhaseCorrection.
    3184             :          * @param atmPhaseCorrection The AtmPhaseCorrectionMod::AtmPhaseCorrection value to which atmPhaseCorrection is to be set.
    3185             :          
    3186             :         
    3187             :                 
    3188             :          * @throw IllegalAccessException If an attempt is made to change this field after is has been added to the table.
    3189             :                 
    3190             :          */
    3191           0 :         void CalPhaseRow::setAtmPhaseCorrection (AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection)  {
    3192             :         
    3193             :         
    3194           0 :                 if (hasBeenAdded) {
    3195             :                 
    3196           0 :                         throw IllegalAccessException("atmPhaseCorrection", "CalPhase");
    3197             :                 
    3198             :                 }
    3199             :         
    3200           0 :                 this->atmPhaseCorrection = atmPhaseCorrection;
    3201             :         
    3202           0 :         }
    3203             :         
    3204             :         
    3205             : 
    3206             :         
    3207             : 
    3208             :         
    3209             :         /**
    3210             :          * Get startValidTime.
    3211             :          * @return startValidTime as ArrayTime
    3212             :          */
    3213           0 :         ArrayTime CalPhaseRow::getStartValidTime() const {
    3214             :         
    3215           0 :                 return startValidTime;
    3216             :         }
    3217             : 
    3218             :         /**
    3219             :          * Set startValidTime with the specified ArrayTime.
    3220             :          * @param startValidTime The ArrayTime value to which startValidTime is to be set.
    3221             :          
    3222             :         
    3223             :                 
    3224             :          */
    3225           0 :         void CalPhaseRow::setStartValidTime (ArrayTime startValidTime)  {
    3226             :         
    3227             :         
    3228           0 :                 if (hasBeenAdded) {
    3229             :                 
    3230             :                 }
    3231             :         
    3232           0 :                 this->startValidTime = startValidTime;
    3233             :         
    3234           0 :         }
    3235             :         
    3236             :         
    3237             : 
    3238             :         
    3239             : 
    3240             :         
    3241             :         /**
    3242             :          * Get endValidTime.
    3243             :          * @return endValidTime as ArrayTime
    3244             :          */
    3245           0 :         ArrayTime CalPhaseRow::getEndValidTime() const {
    3246             :         
    3247           0 :                 return endValidTime;
    3248             :         }
    3249             : 
    3250             :         /**
    3251             :          * Set endValidTime with the specified ArrayTime.
    3252             :          * @param endValidTime The ArrayTime value to which endValidTime is to be set.
    3253             :          
    3254             :         
    3255             :                 
    3256             :          */
    3257           0 :         void CalPhaseRow::setEndValidTime (ArrayTime endValidTime)  {
    3258             :         
    3259             :         
    3260           0 :                 if (hasBeenAdded) {
    3261             :                 
    3262             :                 }
    3263             :         
    3264           0 :                 this->endValidTime = endValidTime;
    3265             :         
    3266           0 :         }
    3267             :         
    3268             :         
    3269             : 
    3270             :         
    3271             : 
    3272             :         
    3273             :         /**
    3274             :          * Get numBaseline.
    3275             :          * @return numBaseline as int
    3276             :          */
    3277           0 :         int CalPhaseRow::getNumBaseline() const {
    3278             :         
    3279           0 :                 return numBaseline;
    3280             :         }
    3281             : 
    3282             :         /**
    3283             :          * Set numBaseline with the specified int.
    3284             :          * @param numBaseline The int value to which numBaseline is to be set.
    3285             :          
    3286             :         
    3287             :                 
    3288             :          */
    3289           0 :         void CalPhaseRow::setNumBaseline (int numBaseline)  {
    3290             :         
    3291             :         
    3292           0 :                 if (hasBeenAdded) {
    3293             :                 
    3294             :                 }
    3295             :         
    3296           0 :                 this->numBaseline = numBaseline;
    3297             :         
    3298           0 :         }
    3299             :         
    3300             :         
    3301             : 
    3302             :         
    3303             : 
    3304             :         
    3305             :         /**
    3306             :          * Get numReceptor.
    3307             :          * @return numReceptor as int
    3308             :          */
    3309           0 :         int CalPhaseRow::getNumReceptor() const {
    3310             :         
    3311           0 :                 return numReceptor;
    3312             :         }
    3313             : 
    3314             :         /**
    3315             :          * Set numReceptor with the specified int.
    3316             :          * @param numReceptor The int value to which numReceptor is to be set.
    3317             :          
    3318             :         
    3319             :                 
    3320             :          */
    3321           0 :         void CalPhaseRow::setNumReceptor (int numReceptor)  {
    3322             :         
    3323             :         
    3324           0 :                 if (hasBeenAdded) {
    3325             :                 
    3326             :                 }
    3327             :         
    3328           0 :                 this->numReceptor = numReceptor;
    3329             :         
    3330           0 :         }
    3331             :         
    3332             :         
    3333             : 
    3334             :         
    3335             : 
    3336             :         
    3337             :         /**
    3338             :          * Get ampli.
    3339             :          * @return ampli as std::vector<std::vector<float > >
    3340             :          */
    3341           0 :         std::vector<std::vector<float > > CalPhaseRow::getAmpli() const {
    3342             :         
    3343           0 :                 return ampli;
    3344             :         }
    3345             : 
    3346             :         /**
    3347             :          * Set ampli with the specified std::vector<std::vector<float > >.
    3348             :          * @param ampli The std::vector<std::vector<float > > value to which ampli is to be set.
    3349             :          
    3350             :         
    3351             :                 
    3352             :          */
    3353           0 :         void CalPhaseRow::setAmpli (std::vector<std::vector<float > > ampli)  {
    3354             :         
    3355             :         
    3356           0 :                 if (hasBeenAdded) {
    3357             :                 
    3358             :                 }
    3359             :         
    3360           0 :                 this->ampli = ampli;
    3361             :         
    3362           0 :         }
    3363             :         
    3364             :         
    3365             : 
    3366             :         
    3367             : 
    3368             :         
    3369             :         /**
    3370             :          * Get antennaNames.
    3371             :          * @return antennaNames as std::vector<std::vector<std::string > >
    3372             :          */
    3373           0 :         std::vector<std::vector<std::string > > CalPhaseRow::getAntennaNames() const {
    3374             :         
    3375           0 :                 return antennaNames;
    3376             :         }
    3377             : 
    3378             :         /**
    3379             :          * Set antennaNames with the specified std::vector<std::vector<std::string > >.
    3380             :          * @param antennaNames The std::vector<std::vector<std::string > > value to which antennaNames is to be set.
    3381             :          
    3382             :         
    3383             :                 
    3384             :          */
    3385           0 :         void CalPhaseRow::setAntennaNames (std::vector<std::vector<std::string > > antennaNames)  {
    3386             :         
    3387             :         
    3388           0 :                 if (hasBeenAdded) {
    3389             :                 
    3390             :                 }
    3391             :         
    3392           0 :                 this->antennaNames = antennaNames;
    3393             :         
    3394           0 :         }
    3395             :         
    3396             :         
    3397             : 
    3398             :         
    3399             : 
    3400             :         
    3401             :         /**
    3402             :          * Get baselineLengths.
    3403             :          * @return baselineLengths as std::vector<Length >
    3404             :          */
    3405           0 :         std::vector<Length > CalPhaseRow::getBaselineLengths() const {
    3406             :         
    3407           0 :                 return baselineLengths;
    3408             :         }
    3409             : 
    3410             :         /**
    3411             :          * Set baselineLengths with the specified std::vector<Length >.
    3412             :          * @param baselineLengths The std::vector<Length > value to which baselineLengths is to be set.
    3413             :          
    3414             :         
    3415             :                 
    3416             :          */
    3417           0 :         void CalPhaseRow::setBaselineLengths (std::vector<Length > baselineLengths)  {
    3418             :         
    3419             :         
    3420           0 :                 if (hasBeenAdded) {
    3421             :                 
    3422             :                 }
    3423             :         
    3424           0 :                 this->baselineLengths = baselineLengths;
    3425             :         
    3426           0 :         }
    3427             :         
    3428             :         
    3429             : 
    3430             :         
    3431             : 
    3432             :         
    3433             :         /**
    3434             :          * Get decorrelationFactor.
    3435             :          * @return decorrelationFactor as std::vector<std::vector<float > >
    3436             :          */
    3437           0 :         std::vector<std::vector<float > > CalPhaseRow::getDecorrelationFactor() const {
    3438             :         
    3439           0 :                 return decorrelationFactor;
    3440             :         }
    3441             : 
    3442             :         /**
    3443             :          * Set decorrelationFactor with the specified std::vector<std::vector<float > >.
    3444             :          * @param decorrelationFactor The std::vector<std::vector<float > > value to which decorrelationFactor is to be set.
    3445             :          
    3446             :         
    3447             :                 
    3448             :          */
    3449           0 :         void CalPhaseRow::setDecorrelationFactor (std::vector<std::vector<float > > decorrelationFactor)  {
    3450             :         
    3451             :         
    3452           0 :                 if (hasBeenAdded) {
    3453             :                 
    3454             :                 }
    3455             :         
    3456           0 :                 this->decorrelationFactor = decorrelationFactor;
    3457             :         
    3458           0 :         }
    3459             :         
    3460             :         
    3461             : 
    3462             :         
    3463             : 
    3464             :         
    3465             :         /**
    3466             :          * Get direction.
    3467             :          * @return direction as std::vector<Angle >
    3468             :          */
    3469           0 :         std::vector<Angle > CalPhaseRow::getDirection() const {
    3470             :         
    3471           0 :                 return direction;
    3472             :         }
    3473             : 
    3474             :         /**
    3475             :          * Set direction with the specified std::vector<Angle >.
    3476             :          * @param direction The std::vector<Angle > value to which direction is to be set.
    3477             :          
    3478             :         
    3479             :                 
    3480             :          */
    3481           0 :         void CalPhaseRow::setDirection (std::vector<Angle > direction)  {
    3482             :         
    3483             :         
    3484           0 :                 if (hasBeenAdded) {
    3485             :                 
    3486             :                 }
    3487             :         
    3488           0 :                 this->direction = direction;
    3489             :         
    3490           0 :         }
    3491             :         
    3492             :         
    3493             : 
    3494             :         
    3495             : 
    3496             :         
    3497             :         /**
    3498             :          * Get frequencyRange.
    3499             :          * @return frequencyRange as std::vector<Frequency >
    3500             :          */
    3501           0 :         std::vector<Frequency > CalPhaseRow::getFrequencyRange() const {
    3502             :         
    3503           0 :                 return frequencyRange;
    3504             :         }
    3505             : 
    3506             :         /**
    3507             :          * Set frequencyRange with the specified std::vector<Frequency >.
    3508             :          * @param frequencyRange The std::vector<Frequency > value to which frequencyRange is to be set.
    3509             :          
    3510             :         
    3511             :                 
    3512             :          */
    3513           0 :         void CalPhaseRow::setFrequencyRange (std::vector<Frequency > frequencyRange)  {
    3514             :         
    3515             :         
    3516           0 :                 if (hasBeenAdded) {
    3517             :                 
    3518             :                 }
    3519             :         
    3520           0 :                 this->frequencyRange = frequencyRange;
    3521             :         
    3522           0 :         }
    3523             :         
    3524             :         
    3525             : 
    3526             :         
    3527             : 
    3528             :         
    3529             :         /**
    3530             :          * Get integrationTime.
    3531             :          * @return integrationTime as Interval
    3532             :          */
    3533           0 :         Interval CalPhaseRow::getIntegrationTime() const {
    3534             :         
    3535           0 :                 return integrationTime;
    3536             :         }
    3537             : 
    3538             :         /**
    3539             :          * Set integrationTime with the specified Interval.
    3540             :          * @param integrationTime The Interval value to which integrationTime is to be set.
    3541             :          
    3542             :         
    3543             :                 
    3544             :          */
    3545           0 :         void CalPhaseRow::setIntegrationTime (Interval integrationTime)  {
    3546             :         
    3547             :         
    3548           0 :                 if (hasBeenAdded) {
    3549             :                 
    3550             :                 }
    3551             :         
    3552           0 :                 this->integrationTime = integrationTime;
    3553             :         
    3554           0 :         }
    3555             :         
    3556             :         
    3557             : 
    3558             :         
    3559             : 
    3560             :         
    3561             :         /**
    3562             :          * Get phase.
    3563             :          * @return phase as std::vector<std::vector<float > >
    3564             :          */
    3565           0 :         std::vector<std::vector<float > > CalPhaseRow::getPhase() const {
    3566             :         
    3567           0 :                 return phase;
    3568             :         }
    3569             : 
    3570             :         /**
    3571             :          * Set phase with the specified std::vector<std::vector<float > >.
    3572             :          * @param phase The std::vector<std::vector<float > > value to which phase is to be set.
    3573             :          
    3574             :         
    3575             :                 
    3576             :          */
    3577           0 :         void CalPhaseRow::setPhase (std::vector<std::vector<float > > phase)  {
    3578             :         
    3579             :         
    3580           0 :                 if (hasBeenAdded) {
    3581             :                 
    3582             :                 }
    3583             :         
    3584           0 :                 this->phase = phase;
    3585             :         
    3586           0 :         }
    3587             :         
    3588             :         
    3589             : 
    3590             :         
    3591             : 
    3592             :         
    3593             :         /**
    3594             :          * Get polarizationTypes.
    3595             :          * @return polarizationTypes as std::vector<PolarizationTypeMod::PolarizationType >
    3596             :          */
    3597           0 :         std::vector<PolarizationTypeMod::PolarizationType > CalPhaseRow::getPolarizationTypes() const {
    3598             :         
    3599           0 :                 return polarizationTypes;
    3600             :         }
    3601             : 
    3602             :         /**
    3603             :          * Set polarizationTypes with the specified std::vector<PolarizationTypeMod::PolarizationType >.
    3604             :          * @param polarizationTypes The std::vector<PolarizationTypeMod::PolarizationType > value to which polarizationTypes is to be set.
    3605             :          
    3606             :         
    3607             :                 
    3608             :          */
    3609           0 :         void CalPhaseRow::setPolarizationTypes (std::vector<PolarizationTypeMod::PolarizationType > polarizationTypes)  {
    3610             :         
    3611             :         
    3612           0 :                 if (hasBeenAdded) {
    3613             :                 
    3614             :                 }
    3615             :         
    3616           0 :                 this->polarizationTypes = polarizationTypes;
    3617             :         
    3618           0 :         }
    3619             :         
    3620             :         
    3621             : 
    3622             :         
    3623             : 
    3624             :         
    3625             :         /**
    3626             :          * Get phaseRMS.
    3627             :          * @return phaseRMS as std::vector<std::vector<float > >
    3628             :          */
    3629           0 :         std::vector<std::vector<float > > CalPhaseRow::getPhaseRMS() const {
    3630             :         
    3631           0 :                 return phaseRMS;
    3632             :         }
    3633             : 
    3634             :         /**
    3635             :          * Set phaseRMS with the specified std::vector<std::vector<float > >.
    3636             :          * @param phaseRMS The std::vector<std::vector<float > > value to which phaseRMS is to be set.
    3637             :          
    3638             :         
    3639             :                 
    3640             :          */
    3641           0 :         void CalPhaseRow::setPhaseRMS (std::vector<std::vector<float > > phaseRMS)  {
    3642             :         
    3643             :         
    3644           0 :                 if (hasBeenAdded) {
    3645             :                 
    3646             :                 }
    3647             :         
    3648           0 :                 this->phaseRMS = phaseRMS;
    3649             :         
    3650           0 :         }
    3651             :         
    3652             :         
    3653             : 
    3654             :         
    3655             : 
    3656             :         
    3657             :         /**
    3658             :          * Get statPhaseRMS.
    3659             :          * @return statPhaseRMS as std::vector<std::vector<float > >
    3660             :          */
    3661           0 :         std::vector<std::vector<float > > CalPhaseRow::getStatPhaseRMS() const {
    3662             :         
    3663           0 :                 return statPhaseRMS;
    3664             :         }
    3665             : 
    3666             :         /**
    3667             :          * Set statPhaseRMS with the specified std::vector<std::vector<float > >.
    3668             :          * @param statPhaseRMS The std::vector<std::vector<float > > value to which statPhaseRMS is to be set.
    3669             :          
    3670             :         
    3671             :                 
    3672             :          */
    3673           0 :         void CalPhaseRow::setStatPhaseRMS (std::vector<std::vector<float > > statPhaseRMS)  {
    3674             :         
    3675             :         
    3676           0 :                 if (hasBeenAdded) {
    3677             :                 
    3678             :                 }
    3679             :         
    3680           0 :                 this->statPhaseRMS = statPhaseRMS;
    3681             :         
    3682           0 :         }
    3683             :         
    3684             :         
    3685             : 
    3686             :         
    3687             :         /**
    3688             :          * The attribute correctionValidity is optional. Return true if this attribute exists.
    3689             :          * @return true if and only if the correctionValidity attribute exists. 
    3690             :          */
    3691           0 :         bool CalPhaseRow::isCorrectionValidityExists() const {
    3692           0 :                 return correctionValidityExists;
    3693             :         }
    3694             :         
    3695             : 
    3696             :         
    3697             :         /**
    3698             :          * Get correctionValidity, which is optional.
    3699             :          * @return correctionValidity as std::vector<bool >
    3700             :          * @throw IllegalAccessException If correctionValidity does not exist.
    3701             :          */
    3702           0 :         std::vector<bool > CalPhaseRow::getCorrectionValidity() const  {
    3703           0 :                 if (!correctionValidityExists) {
    3704           0 :                         throw IllegalAccessException("correctionValidity", "CalPhase");
    3705             :                 }
    3706             :         
    3707           0 :                 return correctionValidity;
    3708             :         }
    3709             : 
    3710             :         /**
    3711             :          * Set correctionValidity with the specified std::vector<bool >.
    3712             :          * @param correctionValidity The std::vector<bool > value to which correctionValidity is to be set.
    3713             :          
    3714             :         
    3715             :          */
    3716           0 :         void CalPhaseRow::setCorrectionValidity (std::vector<bool > correctionValidity) {
    3717             :         
    3718           0 :                 this->correctionValidity = correctionValidity;
    3719             :         
    3720           0 :                 correctionValidityExists = true;
    3721             :         
    3722           0 :         }
    3723             :         
    3724             :         
    3725             :         /**
    3726             :          * Mark correctionValidity, which is an optional field, as non-existent.
    3727             :          */
    3728           0 :         void CalPhaseRow::clearCorrectionValidity () {
    3729           0 :                 correctionValidityExists = false;
    3730           0 :         }
    3731             :         
    3732             : 
    3733             :         
    3734             :         /**
    3735             :          * The attribute numAntenna is optional. Return true if this attribute exists.
    3736             :          * @return true if and only if the numAntenna attribute exists. 
    3737             :          */
    3738           0 :         bool CalPhaseRow::isNumAntennaExists() const {
    3739           0 :                 return numAntennaExists;
    3740             :         }
    3741             :         
    3742             : 
    3743             :         
    3744             :         /**
    3745             :          * Get numAntenna, which is optional.
    3746             :          * @return numAntenna as int
    3747             :          * @throw IllegalAccessException If numAntenna does not exist.
    3748             :          */
    3749           0 :         int CalPhaseRow::getNumAntenna() const  {
    3750           0 :                 if (!numAntennaExists) {
    3751           0 :                         throw IllegalAccessException("numAntenna", "CalPhase");
    3752             :                 }
    3753             :         
    3754           0 :                 return numAntenna;
    3755             :         }
    3756             : 
    3757             :         /**
    3758             :          * Set numAntenna with the specified int.
    3759             :          * @param numAntenna The int value to which numAntenna is to be set.
    3760             :          
    3761             :         
    3762             :          */
    3763           0 :         void CalPhaseRow::setNumAntenna (int numAntenna) {
    3764             :         
    3765           0 :                 this->numAntenna = numAntenna;
    3766             :         
    3767           0 :                 numAntennaExists = true;
    3768             :         
    3769           0 :         }
    3770             :         
    3771             :         
    3772             :         /**
    3773             :          * Mark numAntenna, which is an optional field, as non-existent.
    3774             :          */
    3775           0 :         void CalPhaseRow::clearNumAntenna () {
    3776           0 :                 numAntennaExists = false;
    3777           0 :         }
    3778             :         
    3779             : 
    3780             :         
    3781             :         /**
    3782             :          * The attribute singleAntennaName is optional. Return true if this attribute exists.
    3783             :          * @return true if and only if the singleAntennaName attribute exists. 
    3784             :          */
    3785           0 :         bool CalPhaseRow::isSingleAntennaNameExists() const {
    3786           0 :                 return singleAntennaNameExists;
    3787             :         }
    3788             :         
    3789             : 
    3790             :         
    3791             :         /**
    3792             :          * Get singleAntennaName, which is optional.
    3793             :          * @return singleAntennaName as std::vector<std::string >
    3794             :          * @throw IllegalAccessException If singleAntennaName does not exist.
    3795             :          */
    3796           0 :         std::vector<std::string > CalPhaseRow::getSingleAntennaName() const  {
    3797           0 :                 if (!singleAntennaNameExists) {
    3798           0 :                         throw IllegalAccessException("singleAntennaName", "CalPhase");
    3799             :                 }
    3800             :         
    3801           0 :                 return singleAntennaName;
    3802             :         }
    3803             : 
    3804             :         /**
    3805             :          * Set singleAntennaName with the specified std::vector<std::string >.
    3806             :          * @param singleAntennaName The std::vector<std::string > value to which singleAntennaName is to be set.
    3807             :          
    3808             :         
    3809             :          */
    3810           0 :         void CalPhaseRow::setSingleAntennaName (std::vector<std::string > singleAntennaName) {
    3811             :         
    3812           0 :                 this->singleAntennaName = singleAntennaName;
    3813             :         
    3814           0 :                 singleAntennaNameExists = true;
    3815             :         
    3816           0 :         }
    3817             :         
    3818             :         
    3819             :         /**
    3820             :          * Mark singleAntennaName, which is an optional field, as non-existent.
    3821             :          */
    3822           0 :         void CalPhaseRow::clearSingleAntennaName () {
    3823           0 :                 singleAntennaNameExists = false;
    3824           0 :         }
    3825             :         
    3826             : 
    3827             :         
    3828             :         /**
    3829             :          * The attribute refAntennaName is optional. Return true if this attribute exists.
    3830             :          * @return true if and only if the refAntennaName attribute exists. 
    3831             :          */
    3832           0 :         bool CalPhaseRow::isRefAntennaNameExists() const {
    3833           0 :                 return refAntennaNameExists;
    3834             :         }
    3835             :         
    3836             : 
    3837             :         
    3838             :         /**
    3839             :          * Get refAntennaName, which is optional.
    3840             :          * @return refAntennaName as std::string
    3841             :          * @throw IllegalAccessException If refAntennaName does not exist.
    3842             :          */
    3843           0 :         std::string CalPhaseRow::getRefAntennaName() const  {
    3844           0 :                 if (!refAntennaNameExists) {
    3845           0 :                         throw IllegalAccessException("refAntennaName", "CalPhase");
    3846             :                 }
    3847             :         
    3848           0 :                 return refAntennaName;
    3849             :         }
    3850             : 
    3851             :         /**
    3852             :          * Set refAntennaName with the specified std::string.
    3853             :          * @param refAntennaName The std::string value to which refAntennaName is to be set.
    3854             :          
    3855             :         
    3856             :          */
    3857           0 :         void CalPhaseRow::setRefAntennaName (std::string refAntennaName) {
    3858             :         
    3859           0 :                 this->refAntennaName = refAntennaName;
    3860             :         
    3861           0 :                 refAntennaNameExists = true;
    3862             :         
    3863           0 :         }
    3864             :         
    3865             :         
    3866             :         /**
    3867             :          * Mark refAntennaName, which is an optional field, as non-existent.
    3868             :          */
    3869           0 :         void CalPhaseRow::clearRefAntennaName () {
    3870           0 :                 refAntennaNameExists = false;
    3871           0 :         }
    3872             :         
    3873             : 
    3874             :         
    3875             :         /**
    3876             :          * The attribute phaseAnt is optional. Return true if this attribute exists.
    3877             :          * @return true if and only if the phaseAnt attribute exists. 
    3878             :          */
    3879           0 :         bool CalPhaseRow::isPhaseAntExists() const {
    3880           0 :                 return phaseAntExists;
    3881             :         }
    3882             :         
    3883             : 
    3884             :         
    3885             :         /**
    3886             :          * Get phaseAnt, which is optional.
    3887             :          * @return phaseAnt as std::vector<std::vector<float > >
    3888             :          * @throw IllegalAccessException If phaseAnt does not exist.
    3889             :          */
    3890           0 :         std::vector<std::vector<float > > CalPhaseRow::getPhaseAnt() const  {
    3891           0 :                 if (!phaseAntExists) {
    3892           0 :                         throw IllegalAccessException("phaseAnt", "CalPhase");
    3893             :                 }
    3894             :         
    3895           0 :                 return phaseAnt;
    3896             :         }
    3897             : 
    3898             :         /**
    3899             :          * Set phaseAnt with the specified std::vector<std::vector<float > >.
    3900             :          * @param phaseAnt The std::vector<std::vector<float > > value to which phaseAnt is to be set.
    3901             :          
    3902             :         
    3903             :          */
    3904           0 :         void CalPhaseRow::setPhaseAnt (std::vector<std::vector<float > > phaseAnt) {
    3905             :         
    3906           0 :                 this->phaseAnt = phaseAnt;
    3907             :         
    3908           0 :                 phaseAntExists = true;
    3909             :         
    3910           0 :         }
    3911             :         
    3912             :         
    3913             :         /**
    3914             :          * Mark phaseAnt, which is an optional field, as non-existent.
    3915             :          */
    3916           0 :         void CalPhaseRow::clearPhaseAnt () {
    3917           0 :                 phaseAntExists = false;
    3918           0 :         }
    3919             :         
    3920             : 
    3921             :         
    3922             :         /**
    3923             :          * The attribute phaseAntRMS is optional. Return true if this attribute exists.
    3924             :          * @return true if and only if the phaseAntRMS attribute exists. 
    3925             :          */
    3926           0 :         bool CalPhaseRow::isPhaseAntRMSExists() const {
    3927           0 :                 return phaseAntRMSExists;
    3928             :         }
    3929             :         
    3930             : 
    3931             :         
    3932             :         /**
    3933             :          * Get phaseAntRMS, which is optional.
    3934             :          * @return phaseAntRMS as std::vector<std::vector<float > >
    3935             :          * @throw IllegalAccessException If phaseAntRMS does not exist.
    3936             :          */
    3937           0 :         std::vector<std::vector<float > > CalPhaseRow::getPhaseAntRMS() const  {
    3938           0 :                 if (!phaseAntRMSExists) {
    3939           0 :                         throw IllegalAccessException("phaseAntRMS", "CalPhase");
    3940             :                 }
    3941             :         
    3942           0 :                 return phaseAntRMS;
    3943             :         }
    3944             : 
    3945             :         /**
    3946             :          * Set phaseAntRMS with the specified std::vector<std::vector<float > >.
    3947             :          * @param phaseAntRMS The std::vector<std::vector<float > > value to which phaseAntRMS is to be set.
    3948             :          
    3949             :         
    3950             :          */
    3951           0 :         void CalPhaseRow::setPhaseAntRMS (std::vector<std::vector<float > > phaseAntRMS) {
    3952             :         
    3953           0 :                 this->phaseAntRMS = phaseAntRMS;
    3954             :         
    3955           0 :                 phaseAntRMSExists = true;
    3956             :         
    3957           0 :         }
    3958             :         
    3959             :         
    3960             :         /**
    3961             :          * Mark phaseAntRMS, which is an optional field, as non-existent.
    3962             :          */
    3963           0 :         void CalPhaseRow::clearPhaseAntRMS () {
    3964           0 :                 phaseAntRMSExists = false;
    3965           0 :         }
    3966             :         
    3967             : 
    3968             :         
    3969             :         ///////////////////////////////////////////////
    3970             :         // Extrinsic Table Attributes getters/setters//
    3971             :         ///////////////////////////////////////////////
    3972             :         
    3973             :         
    3974             : 
    3975             :         
    3976             :         /**
    3977             :          * Get calDataId.
    3978             :          * @return calDataId as Tag
    3979             :          */
    3980           0 :         Tag CalPhaseRow::getCalDataId() const {
    3981             :         
    3982           0 :                 return calDataId;
    3983             :         }
    3984             : 
    3985             :         /**
    3986             :          * Set calDataId with the specified Tag.
    3987             :          * @param calDataId The Tag value to which calDataId is to be set.
    3988             :          
    3989             :         
    3990             :                 
    3991             :          * @throw IllegalAccessException If an attempt is made to change this field after is has been added to the table.
    3992             :                 
    3993             :          */
    3994           0 :         void CalPhaseRow::setCalDataId (Tag calDataId)  {
    3995             :         
    3996             :         
    3997           0 :                 if (hasBeenAdded) {
    3998             :                 
    3999           0 :                         throw IllegalAccessException("calDataId", "CalPhase");
    4000             :                 
    4001             :                 }
    4002             :         
    4003           0 :                 this->calDataId = calDataId;
    4004             :         
    4005           0 :         }
    4006             :         
    4007             :         
    4008             : 
    4009             :         
    4010             : 
    4011             :         
    4012             :         /**
    4013             :          * Get calReductionId.
    4014             :          * @return calReductionId as Tag
    4015             :          */
    4016           0 :         Tag CalPhaseRow::getCalReductionId() const {
    4017             :         
    4018           0 :                 return calReductionId;
    4019             :         }
    4020             : 
    4021             :         /**
    4022             :          * Set calReductionId with the specified Tag.
    4023             :          * @param calReductionId The Tag value to which calReductionId is to be set.
    4024             :          
    4025             :         
    4026             :                 
    4027             :          * @throw IllegalAccessException If an attempt is made to change this field after is has been added to the table.
    4028             :                 
    4029             :          */
    4030           0 :         void CalPhaseRow::setCalReductionId (Tag calReductionId)  {
    4031             :         
    4032             :         
    4033           0 :                 if (hasBeenAdded) {
    4034             :                 
    4035           0 :                         throw IllegalAccessException("calReductionId", "CalPhase");
    4036             :                 
    4037             :                 }
    4038             :         
    4039           0 :                 this->calReductionId = calReductionId;
    4040             :         
    4041           0 :         }
    4042             :         
    4043             :         
    4044             : 
    4045             : 
    4046             :         //////////////////////////////////////
    4047             :         // Links Attributes getters/setters //
    4048             :         //////////////////////////////////////
    4049             :         
    4050             :         
    4051             :         
    4052             :         
    4053             :                 
    4054             : 
    4055             :         /**
    4056             :          * Returns the pointer to the row in the CalData table having CalData.calDataId == calDataId
    4057             :          * @return a CalDataRow*
    4058             :          * 
    4059             :          
    4060             :          */
    4061           0 :          CalDataRow* CalPhaseRow::getCalDataUsingCalDataId() {
    4062             :          
    4063           0 :                 return table.getContainer().getCalData().getRowByKey(calDataId);
    4064             :          }
    4065             :          
    4066             : 
    4067             :         
    4068             : 
    4069             :         
    4070             :         
    4071             :         
    4072             :                 
    4073             : 
    4074             :         /**
    4075             :          * Returns the pointer to the row in the CalReduction table having CalReduction.calReductionId == calReductionId
    4076             :          * @return a CalReductionRow*
    4077             :          * 
    4078             :          
    4079             :          */
    4080           0 :          CalReductionRow* CalPhaseRow::getCalReductionUsingCalReductionId() {
    4081             :          
    4082           0 :                 return table.getContainer().getCalReduction().getRowByKey(calReductionId);
    4083             :          }
    4084             :          
    4085             : 
    4086             :         
    4087             : 
    4088             :         
    4089             :         /**
    4090             :          * Create a CalPhaseRow.
    4091             :          * <p>
    4092             :          * This constructor is private because only the
    4093             :          * table can create rows.  All rows know the table
    4094             :          * to which they belong.
    4095             :          * @param table The table to which this row belongs.
    4096             :          */ 
    4097           0 :         CalPhaseRow::CalPhaseRow (CalPhaseTable &t) : table(t) {
    4098           0 :                 hasBeenAdded = false;
    4099             :                 
    4100             :         
    4101             :         
    4102             : 
    4103             :         
    4104             : 
    4105             :         
    4106             : 
    4107             :         
    4108             : 
    4109             :         
    4110             : 
    4111             :         
    4112             : 
    4113             :         
    4114             : 
    4115             :         
    4116             : 
    4117             :         
    4118             : 
    4119             :         
    4120             : 
    4121             :         
    4122             : 
    4123             :         
    4124             : 
    4125             :         
    4126             : 
    4127             :         
    4128             : 
    4129             :         
    4130             : 
    4131             :         
    4132             : 
    4133             :         
    4134             : 
    4135             :         
    4136             : 
    4137             :         
    4138           0 :                 correctionValidityExists = false;
    4139             :         
    4140             : 
    4141             :         
    4142           0 :                 numAntennaExists = false;
    4143             :         
    4144             : 
    4145             :         
    4146           0 :                 singleAntennaNameExists = false;
    4147             :         
    4148             : 
    4149             :         
    4150           0 :                 refAntennaNameExists = false;
    4151             :         
    4152             : 
    4153             :         
    4154           0 :                 phaseAntExists = false;
    4155             :         
    4156             : 
    4157             :         
    4158           0 :                 phaseAntRMSExists = false;
    4159             :         
    4160             : 
    4161             :         
    4162             :         
    4163             : 
    4164             :         
    4165             : 
    4166             :         
    4167             :         
    4168             :         
    4169             :         
    4170             : // This attribute is scalar and has an enumeration type. Let's initialize it to some valid value (the 1st of the enumeration).          
    4171           0 : basebandName = CBasebandName::from_int(0);
    4172             :         
    4173             : 
    4174             :         
    4175             : // This attribute is scalar and has an enumeration type. Let's initialize it to some valid value (the 1st of the enumeration).          
    4176           0 : receiverBand = CReceiverBand::from_int(0);
    4177             :         
    4178             : 
    4179             :         
    4180             : // This attribute is scalar and has an enumeration type. Let's initialize it to some valid value (the 1st of the enumeration).          
    4181           0 : atmPhaseCorrection = CAtmPhaseCorrection::from_int(0);
    4182             :         
    4183             : 
    4184             :         
    4185             : 
    4186             :         
    4187             : 
    4188             :         
    4189             : 
    4190             :         
    4191             : 
    4192             :         
    4193             : 
    4194             :         
    4195             : 
    4196             :         
    4197             : 
    4198             :         
    4199             : 
    4200             :         
    4201             : 
    4202             :         
    4203             : 
    4204             :         
    4205             : 
    4206             :         
    4207             : 
    4208             :         
    4209             : 
    4210             :         
    4211             : 
    4212             :         
    4213             : 
    4214             :         
    4215             : 
    4216             :         
    4217             : 
    4218             :         
    4219             : 
    4220             :         
    4221             : 
    4222             :         
    4223             : 
    4224             :         
    4225             : 
    4226             :         
    4227             :         
    4228           0 :          fromBinMethods["basebandName"] = &CalPhaseRow::basebandNameFromBin; 
    4229           0 :          fromBinMethods["receiverBand"] = &CalPhaseRow::receiverBandFromBin; 
    4230           0 :          fromBinMethods["atmPhaseCorrection"] = &CalPhaseRow::atmPhaseCorrectionFromBin; 
    4231           0 :          fromBinMethods["calDataId"] = &CalPhaseRow::calDataIdFromBin; 
    4232           0 :          fromBinMethods["calReductionId"] = &CalPhaseRow::calReductionIdFromBin; 
    4233           0 :          fromBinMethods["startValidTime"] = &CalPhaseRow::startValidTimeFromBin; 
    4234           0 :          fromBinMethods["endValidTime"] = &CalPhaseRow::endValidTimeFromBin; 
    4235           0 :          fromBinMethods["numBaseline"] = &CalPhaseRow::numBaselineFromBin; 
    4236           0 :          fromBinMethods["numReceptor"] = &CalPhaseRow::numReceptorFromBin; 
    4237           0 :          fromBinMethods["ampli"] = &CalPhaseRow::ampliFromBin; 
    4238           0 :          fromBinMethods["antennaNames"] = &CalPhaseRow::antennaNamesFromBin; 
    4239           0 :          fromBinMethods["baselineLengths"] = &CalPhaseRow::baselineLengthsFromBin; 
    4240           0 :          fromBinMethods["decorrelationFactor"] = &CalPhaseRow::decorrelationFactorFromBin; 
    4241           0 :          fromBinMethods["direction"] = &CalPhaseRow::directionFromBin; 
    4242           0 :          fromBinMethods["frequencyRange"] = &CalPhaseRow::frequencyRangeFromBin; 
    4243           0 :          fromBinMethods["integrationTime"] = &CalPhaseRow::integrationTimeFromBin; 
    4244           0 :          fromBinMethods["phase"] = &CalPhaseRow::phaseFromBin; 
    4245           0 :          fromBinMethods["polarizationTypes"] = &CalPhaseRow::polarizationTypesFromBin; 
    4246           0 :          fromBinMethods["phaseRMS"] = &CalPhaseRow::phaseRMSFromBin; 
    4247           0 :          fromBinMethods["statPhaseRMS"] = &CalPhaseRow::statPhaseRMSFromBin; 
    4248             :                 
    4249             :         
    4250           0 :          fromBinMethods["correctionValidity"] = &CalPhaseRow::correctionValidityFromBin; 
    4251           0 :          fromBinMethods["numAntenna"] = &CalPhaseRow::numAntennaFromBin; 
    4252           0 :          fromBinMethods["singleAntennaName"] = &CalPhaseRow::singleAntennaNameFromBin; 
    4253           0 :          fromBinMethods["refAntennaName"] = &CalPhaseRow::refAntennaNameFromBin; 
    4254           0 :          fromBinMethods["phaseAnt"] = &CalPhaseRow::phaseAntFromBin; 
    4255           0 :          fromBinMethods["phaseAntRMS"] = &CalPhaseRow::phaseAntRMSFromBin; 
    4256             :         
    4257             :         
    4258             :         
    4259             :         
    4260             :                                  
    4261           0 :         fromTextMethods["basebandName"] = &CalPhaseRow::basebandNameFromText;
    4262             :                  
    4263             :         
    4264             :                                  
    4265           0 :         fromTextMethods["receiverBand"] = &CalPhaseRow::receiverBandFromText;
    4266             :                  
    4267             :         
    4268             :                                  
    4269           0 :         fromTextMethods["atmPhaseCorrection"] = &CalPhaseRow::atmPhaseCorrectionFromText;
    4270             :                  
    4271             :         
    4272             :                                  
    4273           0 :         fromTextMethods["calDataId"] = &CalPhaseRow::calDataIdFromText;
    4274             :                  
    4275             :         
    4276             :                                  
    4277           0 :         fromTextMethods["calReductionId"] = &CalPhaseRow::calReductionIdFromText;
    4278             :                  
    4279             :         
    4280             :                                  
    4281           0 :         fromTextMethods["startValidTime"] = &CalPhaseRow::startValidTimeFromText;
    4282             :                  
    4283             :         
    4284             :                                  
    4285           0 :         fromTextMethods["endValidTime"] = &CalPhaseRow::endValidTimeFromText;
    4286             :                  
    4287             :         
    4288             :                                  
    4289           0 :         fromTextMethods["numBaseline"] = &CalPhaseRow::numBaselineFromText;
    4290             :                  
    4291             :         
    4292             :                                  
    4293           0 :         fromTextMethods["numReceptor"] = &CalPhaseRow::numReceptorFromText;
    4294             :                  
    4295             :         
    4296             :                                  
    4297           0 :         fromTextMethods["ampli"] = &CalPhaseRow::ampliFromText;
    4298             :                  
    4299             :         
    4300             :                                  
    4301           0 :         fromTextMethods["antennaNames"] = &CalPhaseRow::antennaNamesFromText;
    4302             :                  
    4303             :         
    4304             :                                  
    4305           0 :         fromTextMethods["baselineLengths"] = &CalPhaseRow::baselineLengthsFromText;
    4306             :                  
    4307             :         
    4308             :                                  
    4309           0 :         fromTextMethods["decorrelationFactor"] = &CalPhaseRow::decorrelationFactorFromText;
    4310             :                  
    4311             :         
    4312             :                                  
    4313           0 :         fromTextMethods["direction"] = &CalPhaseRow::directionFromText;
    4314             :                  
    4315             :         
    4316             :                                  
    4317           0 :         fromTextMethods["frequencyRange"] = &CalPhaseRow::frequencyRangeFromText;
    4318             :                  
    4319             :         
    4320             :                                  
    4321           0 :         fromTextMethods["integrationTime"] = &CalPhaseRow::integrationTimeFromText;
    4322             :                  
    4323             :         
    4324             :                                  
    4325           0 :         fromTextMethods["phase"] = &CalPhaseRow::phaseFromText;
    4326             :                  
    4327             :         
    4328             :                                  
    4329           0 :         fromTextMethods["polarizationTypes"] = &CalPhaseRow::polarizationTypesFromText;
    4330             :                  
    4331             :         
    4332             :                                  
    4333           0 :         fromTextMethods["phaseRMS"] = &CalPhaseRow::phaseRMSFromText;
    4334             :                  
    4335             :         
    4336             :                                  
    4337           0 :         fromTextMethods["statPhaseRMS"] = &CalPhaseRow::statPhaseRMSFromText;
    4338             :                  
    4339             :         
    4340             : 
    4341             :          
    4342             :                                 
    4343           0 :         fromTextMethods["correctionValidity"] = &CalPhaseRow::correctionValidityFromText;
    4344             :                         
    4345             :          
    4346             :                                 
    4347           0 :         fromTextMethods["numAntenna"] = &CalPhaseRow::numAntennaFromText;
    4348             :                         
    4349             :          
    4350             :                                 
    4351           0 :         fromTextMethods["singleAntennaName"] = &CalPhaseRow::singleAntennaNameFromText;
    4352             :                         
    4353             :          
    4354             :                                 
    4355           0 :         fromTextMethods["refAntennaName"] = &CalPhaseRow::refAntennaNameFromText;
    4356             :                         
    4357             :          
    4358             :                                 
    4359           0 :         fromTextMethods["phaseAnt"] = &CalPhaseRow::phaseAntFromText;
    4360             :                         
    4361             :          
    4362             :                                 
    4363           0 :         fromTextMethods["phaseAntRMS"] = &CalPhaseRow::phaseAntRMSFromText;
    4364             :                         
    4365             :                 
    4366           0 :         }
    4367             :         
    4368           0 :         CalPhaseRow::CalPhaseRow (CalPhaseTable &t, CalPhaseRow *row) : table(t) {
    4369           0 :                 hasBeenAdded = false;
    4370             :                 
    4371           0 :                 if (row == 0) {
    4372             :         
    4373             :         
    4374             :         
    4375             : 
    4376             :         
    4377             : 
    4378             :         
    4379             : 
    4380             :         
    4381             : 
    4382             :         
    4383             : 
    4384             :         
    4385             : 
    4386             :         
    4387             : 
    4388             :         
    4389             : 
    4390             :         
    4391             : 
    4392             :         
    4393             : 
    4394             :         
    4395             : 
    4396             :         
    4397             : 
    4398             :         
    4399             : 
    4400             :         
    4401             : 
    4402             :         
    4403             : 
    4404             :         
    4405             : 
    4406             :         
    4407             : 
    4408             :         
    4409             : 
    4410             :         
    4411           0 :                 correctionValidityExists = false;
    4412             :         
    4413             : 
    4414             :         
    4415           0 :                 numAntennaExists = false;
    4416             :         
    4417             : 
    4418             :         
    4419           0 :                 singleAntennaNameExists = false;
    4420             :         
    4421             : 
    4422             :         
    4423           0 :                 refAntennaNameExists = false;
    4424             :         
    4425             : 
    4426             :         
    4427           0 :                 phaseAntExists = false;
    4428             :         
    4429             : 
    4430             :         
    4431           0 :                 phaseAntRMSExists = false;
    4432             :         
    4433             : 
    4434             :         
    4435             :         
    4436             : 
    4437             :         
    4438             :                 
    4439             :                 }
    4440             :                 else {
    4441             :         
    4442             :                 
    4443           0 :                         basebandName = row->basebandName;
    4444             :                 
    4445           0 :                         receiverBand = row->receiverBand;
    4446             :                 
    4447           0 :                         atmPhaseCorrection = row->atmPhaseCorrection;
    4448             :                 
    4449           0 :                         calDataId = row->calDataId;
    4450             :                 
    4451           0 :                         calReductionId = row->calReductionId;
    4452             :                 
    4453             :                 
    4454             :                 
    4455             :                 
    4456           0 :                         startValidTime = row->startValidTime;
    4457             :                 
    4458           0 :                         endValidTime = row->endValidTime;
    4459             :                 
    4460           0 :                         numBaseline = row->numBaseline;
    4461             :                 
    4462           0 :                         numReceptor = row->numReceptor;
    4463             :                 
    4464           0 :                         ampli = row->ampli;
    4465             :                 
    4466           0 :                         antennaNames = row->antennaNames;
    4467             :                 
    4468           0 :                         baselineLengths = row->baselineLengths;
    4469             :                 
    4470           0 :                         decorrelationFactor = row->decorrelationFactor;
    4471             :                 
    4472           0 :                         direction = row->direction;
    4473             :                 
    4474           0 :                         frequencyRange = row->frequencyRange;
    4475             :                 
    4476           0 :                         integrationTime = row->integrationTime;
    4477             :                 
    4478           0 :                         phase = row->phase;
    4479             :                 
    4480           0 :                         polarizationTypes = row->polarizationTypes;
    4481             :                 
    4482           0 :                         phaseRMS = row->phaseRMS;
    4483             :                 
    4484           0 :                         statPhaseRMS = row->statPhaseRMS;
    4485             :                 
    4486             :                 
    4487             :                 
    4488             :                 
    4489           0 :                 if (row->correctionValidityExists) {
    4490           0 :                         correctionValidity = row->correctionValidity;                
    4491           0 :                         correctionValidityExists = true;
    4492             :                 }
    4493             :                 else
    4494           0 :                         correctionValidityExists = false;
    4495             :                 
    4496           0 :                 if (row->numAntennaExists) {
    4497           0 :                         numAntenna = row->numAntenna;                
    4498           0 :                         numAntennaExists = true;
    4499             :                 }
    4500             :                 else
    4501           0 :                         numAntennaExists = false;
    4502             :                 
    4503           0 :                 if (row->singleAntennaNameExists) {
    4504           0 :                         singleAntennaName = row->singleAntennaName;          
    4505           0 :                         singleAntennaNameExists = true;
    4506             :                 }
    4507             :                 else
    4508           0 :                         singleAntennaNameExists = false;
    4509             :                 
    4510           0 :                 if (row->refAntennaNameExists) {
    4511           0 :                         refAntennaName = row->refAntennaName;                
    4512           0 :                         refAntennaNameExists = true;
    4513             :                 }
    4514             :                 else
    4515           0 :                         refAntennaNameExists = false;
    4516             :                 
    4517           0 :                 if (row->phaseAntExists) {
    4518           0 :                         phaseAnt = row->phaseAnt;            
    4519           0 :                         phaseAntExists = true;
    4520             :                 }
    4521             :                 else
    4522           0 :                         phaseAntExists = false;
    4523             :                 
    4524           0 :                 if (row->phaseAntRMSExists) {
    4525           0 :                         phaseAntRMS = row->phaseAntRMS;              
    4526           0 :                         phaseAntRMSExists = true;
    4527             :                 }
    4528             :                 else
    4529           0 :                         phaseAntRMSExists = false;
    4530             :                 
    4531             :                 }
    4532             :                 
    4533           0 :                  fromBinMethods["basebandName"] = &CalPhaseRow::basebandNameFromBin; 
    4534           0 :                  fromBinMethods["receiverBand"] = &CalPhaseRow::receiverBandFromBin; 
    4535           0 :                  fromBinMethods["atmPhaseCorrection"] = &CalPhaseRow::atmPhaseCorrectionFromBin; 
    4536           0 :                  fromBinMethods["calDataId"] = &CalPhaseRow::calDataIdFromBin; 
    4537           0 :                  fromBinMethods["calReductionId"] = &CalPhaseRow::calReductionIdFromBin; 
    4538           0 :                  fromBinMethods["startValidTime"] = &CalPhaseRow::startValidTimeFromBin; 
    4539           0 :                  fromBinMethods["endValidTime"] = &CalPhaseRow::endValidTimeFromBin; 
    4540           0 :                  fromBinMethods["numBaseline"] = &CalPhaseRow::numBaselineFromBin; 
    4541           0 :                  fromBinMethods["numReceptor"] = &CalPhaseRow::numReceptorFromBin; 
    4542           0 :                  fromBinMethods["ampli"] = &CalPhaseRow::ampliFromBin; 
    4543           0 :                  fromBinMethods["antennaNames"] = &CalPhaseRow::antennaNamesFromBin; 
    4544           0 :                  fromBinMethods["baselineLengths"] = &CalPhaseRow::baselineLengthsFromBin; 
    4545           0 :                  fromBinMethods["decorrelationFactor"] = &CalPhaseRow::decorrelationFactorFromBin; 
    4546           0 :                  fromBinMethods["direction"] = &CalPhaseRow::directionFromBin; 
    4547           0 :                  fromBinMethods["frequencyRange"] = &CalPhaseRow::frequencyRangeFromBin; 
    4548           0 :                  fromBinMethods["integrationTime"] = &CalPhaseRow::integrationTimeFromBin; 
    4549           0 :                  fromBinMethods["phase"] = &CalPhaseRow::phaseFromBin; 
    4550           0 :                  fromBinMethods["polarizationTypes"] = &CalPhaseRow::polarizationTypesFromBin; 
    4551           0 :                  fromBinMethods["phaseRMS"] = &CalPhaseRow::phaseRMSFromBin; 
    4552           0 :                  fromBinMethods["statPhaseRMS"] = &CalPhaseRow::statPhaseRMSFromBin; 
    4553             :                         
    4554             :         
    4555           0 :                  fromBinMethods["correctionValidity"] = &CalPhaseRow::correctionValidityFromBin; 
    4556           0 :                  fromBinMethods["numAntenna"] = &CalPhaseRow::numAntennaFromBin; 
    4557           0 :                  fromBinMethods["singleAntennaName"] = &CalPhaseRow::singleAntennaNameFromBin; 
    4558           0 :                  fromBinMethods["refAntennaName"] = &CalPhaseRow::refAntennaNameFromBin; 
    4559           0 :                  fromBinMethods["phaseAnt"] = &CalPhaseRow::phaseAntFromBin; 
    4560           0 :                  fromBinMethods["phaseAntRMS"] = &CalPhaseRow::phaseAntRMSFromBin; 
    4561             :                         
    4562           0 :         }
    4563             : 
    4564             :         
    4565           0 :         bool CalPhaseRow::compareNoAutoInc(BasebandNameMod::BasebandName basebandName, ReceiverBandMod::ReceiverBand receiverBand, AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection, Tag calDataId, Tag calReductionId, ArrayTime startValidTime, ArrayTime endValidTime, int numBaseline, int numReceptor, std::vector<std::vector<float > > ampli, std::vector<std::vector<std::string > > antennaNames, std::vector<Length > baselineLengths, std::vector<std::vector<float > > decorrelationFactor, std::vector<Angle > direction, std::vector<Frequency > frequencyRange, Interval integrationTime, std::vector<std::vector<float > > phase, std::vector<PolarizationTypeMod::PolarizationType > polarizationTypes, std::vector<std::vector<float > > phaseRMS, std::vector<std::vector<float > > statPhaseRMS) {
    4566             :                 bool result;
    4567           0 :                 result = true;
    4568             :                 
    4569             :         
    4570             :                 
    4571           0 :                 result = result && (this->basebandName == basebandName);
    4572             :                 
    4573           0 :                 if (!result) return false;
    4574             :         
    4575             : 
    4576             :         
    4577             :                 
    4578           0 :                 result = result && (this->receiverBand == receiverBand);
    4579             :                 
    4580           0 :                 if (!result) return false;
    4581             :         
    4582             : 
    4583             :         
    4584             :                 
    4585           0 :                 result = result && (this->atmPhaseCorrection == atmPhaseCorrection);
    4586             :                 
    4587           0 :                 if (!result) return false;
    4588             :         
    4589             : 
    4590             :         
    4591             :                 
    4592           0 :                 result = result && (this->calDataId == calDataId);
    4593             :                 
    4594           0 :                 if (!result) return false;
    4595             :         
    4596             : 
    4597             :         
    4598             :                 
    4599           0 :                 result = result && (this->calReductionId == calReductionId);
    4600             :                 
    4601           0 :                 if (!result) return false;
    4602             :         
    4603             : 
    4604             :         
    4605             :                 
    4606           0 :                 result = result && (this->startValidTime == startValidTime);
    4607             :                 
    4608           0 :                 if (!result) return false;
    4609             :         
    4610             : 
    4611             :         
    4612             :                 
    4613           0 :                 result = result && (this->endValidTime == endValidTime);
    4614             :                 
    4615           0 :                 if (!result) return false;
    4616             :         
    4617             : 
    4618             :         
    4619             :                 
    4620           0 :                 result = result && (this->numBaseline == numBaseline);
    4621             :                 
    4622           0 :                 if (!result) return false;
    4623             :         
    4624             : 
    4625             :         
    4626             :                 
    4627           0 :                 result = result && (this->numReceptor == numReceptor);
    4628             :                 
    4629           0 :                 if (!result) return false;
    4630             :         
    4631             : 
    4632             :         
    4633             :                 
    4634           0 :                 result = result && (this->ampli == ampli);
    4635             :                 
    4636           0 :                 if (!result) return false;
    4637             :         
    4638             : 
    4639             :         
    4640             :                 
    4641           0 :                 result = result && (this->antennaNames == antennaNames);
    4642             :                 
    4643           0 :                 if (!result) return false;
    4644             :         
    4645             : 
    4646             :         
    4647             :                 
    4648           0 :                 result = result && (this->baselineLengths == baselineLengths);
    4649             :                 
    4650           0 :                 if (!result) return false;
    4651             :         
    4652             : 
    4653             :         
    4654             :                 
    4655           0 :                 result = result && (this->decorrelationFactor == decorrelationFactor);
    4656             :                 
    4657           0 :                 if (!result) return false;
    4658             :         
    4659             : 
    4660             :         
    4661             :                 
    4662           0 :                 result = result && (this->direction == direction);
    4663             :                 
    4664           0 :                 if (!result) return false;
    4665             :         
    4666             : 
    4667             :         
    4668             :                 
    4669           0 :                 result = result && (this->frequencyRange == frequencyRange);
    4670             :                 
    4671           0 :                 if (!result) return false;
    4672             :         
    4673             : 
    4674             :         
    4675             :                 
    4676           0 :                 result = result && (this->integrationTime == integrationTime);
    4677             :                 
    4678           0 :                 if (!result) return false;
    4679             :         
    4680             : 
    4681             :         
    4682             :                 
    4683           0 :                 result = result && (this->phase == phase);
    4684             :                 
    4685           0 :                 if (!result) return false;
    4686             :         
    4687             : 
    4688             :         
    4689             :                 
    4690           0 :                 result = result && (this->polarizationTypes == polarizationTypes);
    4691             :                 
    4692           0 :                 if (!result) return false;
    4693             :         
    4694             : 
    4695             :         
    4696             :                 
    4697           0 :                 result = result && (this->phaseRMS == phaseRMS);
    4698             :                 
    4699           0 :                 if (!result) return false;
    4700             :         
    4701             : 
    4702             :         
    4703             :                 
    4704           0 :                 result = result && (this->statPhaseRMS == statPhaseRMS);
    4705             :                 
    4706           0 :                 if (!result) return false;
    4707             :         
    4708             : 
    4709           0 :                 return result;
    4710             :         }       
    4711             :         
    4712             :         
    4713             :         
    4714           0 :         bool CalPhaseRow::compareRequiredValue(ArrayTime startValidTime, ArrayTime endValidTime, int numBaseline, int numReceptor, std::vector<std::vector<float > > ampli, std::vector<std::vector<std::string > > antennaNames, std::vector<Length > baselineLengths, std::vector<std::vector<float > > decorrelationFactor, std::vector<Angle > direction, std::vector<Frequency > frequencyRange, Interval integrationTime, std::vector<std::vector<float > > phase, std::vector<PolarizationTypeMod::PolarizationType > polarizationTypes, std::vector<std::vector<float > > phaseRMS, std::vector<std::vector<float > > statPhaseRMS) {
    4715             :                 bool result;
    4716           0 :                 result = true;
    4717             :                 
    4718             :         
    4719           0 :                 if (!(this->startValidTime == startValidTime)) return false;
    4720             :         
    4721             : 
    4722             :         
    4723           0 :                 if (!(this->endValidTime == endValidTime)) return false;
    4724             :         
    4725             : 
    4726             :         
    4727           0 :                 if (!(this->numBaseline == numBaseline)) return false;
    4728             :         
    4729             : 
    4730             :         
    4731           0 :                 if (!(this->numReceptor == numReceptor)) return false;
    4732             :         
    4733             : 
    4734             :         
    4735           0 :                 if (!(this->ampli == ampli)) return false;
    4736             :         
    4737             : 
    4738             :         
    4739           0 :                 if (!(this->antennaNames == antennaNames)) return false;
    4740             :         
    4741             : 
    4742             :         
    4743           0 :                 if (!(this->baselineLengths == baselineLengths)) return false;
    4744             :         
    4745             : 
    4746             :         
    4747           0 :                 if (!(this->decorrelationFactor == decorrelationFactor)) return false;
    4748             :         
    4749             : 
    4750             :         
    4751           0 :                 if (!(this->direction == direction)) return false;
    4752             :         
    4753             : 
    4754             :         
    4755           0 :                 if (!(this->frequencyRange == frequencyRange)) return false;
    4756             :         
    4757             : 
    4758             :         
    4759           0 :                 if (!(this->integrationTime == integrationTime)) return false;
    4760             :         
    4761             : 
    4762             :         
    4763           0 :                 if (!(this->phase == phase)) return false;
    4764             :         
    4765             : 
    4766             :         
    4767           0 :                 if (!(this->polarizationTypes == polarizationTypes)) return false;
    4768             :         
    4769             : 
    4770             :         
    4771           0 :                 if (!(this->phaseRMS == phaseRMS)) return false;
    4772             :         
    4773             : 
    4774             :         
    4775           0 :                 if (!(this->statPhaseRMS == statPhaseRMS)) return false;
    4776             :         
    4777             : 
    4778           0 :                 return result;
    4779             :         }
    4780             :         
    4781             :         
    4782             :         /**
    4783             :          * Return true if all required attributes of the value part are equal to their homologues
    4784             :          * in x and false otherwise.
    4785             :          *
    4786             : 
    4787             :          * @param x a pointer on the CalPhaseRow whose required attributes of the value part 
    4788             : 
    4789             :          * will be compared with those of this.
    4790             :          * @return a boolean.
    4791             :          */
    4792           0 :         bool CalPhaseRow::equalByRequiredValue(CalPhaseRow*  x ) {
    4793             :                 
    4794             :                         
    4795           0 :                 if (this->startValidTime != x->startValidTime) return false;
    4796             :                         
    4797           0 :                 if (this->endValidTime != x->endValidTime) return false;
    4798             :                         
    4799           0 :                 if (this->numBaseline != x->numBaseline) return false;
    4800             :                         
    4801           0 :                 if (this->numReceptor != x->numReceptor) return false;
    4802             :                         
    4803           0 :                 if (this->ampli != x->ampli) return false;
    4804             :                         
    4805           0 :                 if (this->antennaNames != x->antennaNames) return false;
    4806             :                         
    4807           0 :                 if (this->baselineLengths != x->baselineLengths) return false;
    4808             :                         
    4809           0 :                 if (this->decorrelationFactor != x->decorrelationFactor) return false;
    4810             :                         
    4811           0 :                 if (this->direction != x->direction) return false;
    4812             :                         
    4813           0 :                 if (this->frequencyRange != x->frequencyRange) return false;
    4814             :                         
    4815           0 :                 if (this->integrationTime != x->integrationTime) return false;
    4816             :                         
    4817           0 :                 if (this->phase != x->phase) return false;
    4818             :                         
    4819           0 :                 if (this->polarizationTypes != x->polarizationTypes) return false;
    4820             :                         
    4821           0 :                 if (this->phaseRMS != x->phaseRMS) return false;
    4822             :                         
    4823           0 :                 if (this->statPhaseRMS != x->statPhaseRMS) return false;
    4824             :                         
    4825             :                 
    4826           0 :                 return true;
    4827             :         }       
    4828             :         
    4829             : /*
    4830             :          map<string, CalPhaseAttributeFromBin> CalPhaseRow::initFromBinMethods() {
    4831             :                 map<string, CalPhaseAttributeFromBin> result;
    4832             :                 
    4833             :                 result["basebandName"] = &CalPhaseRow::basebandNameFromBin;
    4834             :                 result["receiverBand"] = &CalPhaseRow::receiverBandFromBin;
    4835             :                 result["atmPhaseCorrection"] = &CalPhaseRow::atmPhaseCorrectionFromBin;
    4836             :                 result["calDataId"] = &CalPhaseRow::calDataIdFromBin;
    4837             :                 result["calReductionId"] = &CalPhaseRow::calReductionIdFromBin;
    4838             :                 result["startValidTime"] = &CalPhaseRow::startValidTimeFromBin;
    4839             :                 result["endValidTime"] = &CalPhaseRow::endValidTimeFromBin;
    4840             :                 result["numBaseline"] = &CalPhaseRow::numBaselineFromBin;
    4841             :                 result["numReceptor"] = &CalPhaseRow::numReceptorFromBin;
    4842             :                 result["ampli"] = &CalPhaseRow::ampliFromBin;
    4843             :                 result["antennaNames"] = &CalPhaseRow::antennaNamesFromBin;
    4844             :                 result["baselineLengths"] = &CalPhaseRow::baselineLengthsFromBin;
    4845             :                 result["decorrelationFactor"] = &CalPhaseRow::decorrelationFactorFromBin;
    4846             :                 result["direction"] = &CalPhaseRow::directionFromBin;
    4847             :                 result["frequencyRange"] = &CalPhaseRow::frequencyRangeFromBin;
    4848             :                 result["integrationTime"] = &CalPhaseRow::integrationTimeFromBin;
    4849             :                 result["phase"] = &CalPhaseRow::phaseFromBin;
    4850             :                 result["polarizationTypes"] = &CalPhaseRow::polarizationTypesFromBin;
    4851             :                 result["phaseRMS"] = &CalPhaseRow::phaseRMSFromBin;
    4852             :                 result["statPhaseRMS"] = &CalPhaseRow::statPhaseRMSFromBin;
    4853             :                 
    4854             :                 
    4855             :                 result["correctionValidity"] = &CalPhaseRow::correctionValidityFromBin;
    4856             :                 result["numAntenna"] = &CalPhaseRow::numAntennaFromBin;
    4857             :                 result["singleAntennaName"] = &CalPhaseRow::singleAntennaNameFromBin;
    4858             :                 result["refAntennaName"] = &CalPhaseRow::refAntennaNameFromBin;
    4859             :                 result["phaseAnt"] = &CalPhaseRow::phaseAntFromBin;
    4860             :                 result["phaseAntRMS"] = &CalPhaseRow::phaseAntRMSFromBin;
    4861             :                         
    4862             :                 
    4863             :                 return result;  
    4864             :         }
    4865             : */      
    4866             : } // End namespace asdm
    4867             :  

Generated by: LCOV version 1.16