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

Generated by: LCOV version 1.16