LCOV - code coverage report
Current view: top level - alma/ASDM - CalSeeingRow.cc (source / functions) Hit Total Coverage
Test: casacpp_coverage.info Lines: 191 449 42.5 %
Date: 2024-12-11 20:54:31 Functions: 47 83 56.6 %

          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 CalSeeingRow.cpp
      32             :  */
      33             :  
      34             : #include <vector>
      35             : #include <set>
      36             : 
      37             : #include <alma/ASDM/ASDM.h>
      38             : #include <alma/ASDM/CalSeeingRow.h>
      39             : #include <alma/ASDM/CalSeeingTable.h>
      40             : 
      41             : #include <alma/ASDM/CalDataTable.h>
      42             : #include <alma/ASDM/CalDataRow.h>
      43             : 
      44             : #include <alma/ASDM/CalReductionTable.h>
      45             : #include <alma/ASDM/CalReductionRow.h>
      46             :         
      47             : 
      48             : using asdm::ASDM;
      49             : using asdm::CalSeeingRow;
      50             : using asdm::CalSeeingTable;
      51             : 
      52             : using asdm::CalDataTable;
      53             : using asdm::CalDataRow;
      54             : 
      55             : using asdm::CalReductionTable;
      56             : using asdm::CalReductionRow;
      57             : 
      58             : 
      59             : #include <alma/ASDM/Parser.h>
      60             : 
      61             : #include <alma/ASDM/EnumerationParser.h>
      62             : #include <alma/ASDM/ASDMValuesParser.h>
      63             :  
      64             : #include <alma/ASDM/InvalidArgumentException.h>
      65             : 
      66             : using namespace std;
      67             : 
      68             : namespace asdm {
      69          20 :         CalSeeingRow::~CalSeeingRow() {
      70          20 :         }
      71             : 
      72             :         /**
      73             :          * Return the table to which this row belongs.
      74             :          */
      75           0 :         CalSeeingTable &CalSeeingRow::getTable() const {
      76           0 :                 return table;
      77             :         }
      78             : 
      79           0 :         bool CalSeeingRow::isAdded() const {
      80           0 :                 return hasBeenAdded;
      81             :         }       
      82             : 
      83          10 :         void CalSeeingRow::isAdded(bool added) {
      84          10 :                 hasBeenAdded = added;
      85          10 :         }
      86             :         
      87             : #ifndef WITHOUT_ACS
      88             :         using asdmIDL::CalSeeingRowIDL;
      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 CalSeeingRowIDL struct.
      95             :          */
      96             :         CalSeeingRowIDL *CalSeeingRow::toIDL() const {
      97             :                 CalSeeingRowIDL *x = new CalSeeingRowIDL ();
      98             :                 
      99             :                 // Fill the IDL structure.
     100             :         
     101             :                 
     102             :         
     103             :                 
     104             :                 
     105             :                 
     106             :                         
     107             :                                 
     108             :                 x->atmPhaseCorrection = atmPhaseCorrection;
     109             :                                 
     110             :                         
     111             :                 
     112             :         
     113             : 
     114             :         
     115             :                 
     116             :                 
     117             :                 
     118             :                         
     119             :                 x->startValidTime = startValidTime.toIDLArrayTime();
     120             :                         
     121             :                 
     122             :         
     123             : 
     124             :         
     125             :                 
     126             :                 
     127             :                 
     128             :                         
     129             :                 x->endValidTime = endValidTime.toIDLArrayTime();
     130             :                         
     131             :                 
     132             :         
     133             : 
     134             :         
     135             :                 
     136             :                 
     137             :                 
     138             :                         
     139             :                 x->frequencyRange.length(frequencyRange.size());
     140             :                 for (unsigned int i = 0; i < frequencyRange.size(); ++i) {
     141             :                         
     142             :                         x->frequencyRange[i] = frequencyRange.at(i).toIDLFrequency();
     143             :                         
     144             :                 }
     145             :                         
     146             :                 
     147             :         
     148             : 
     149             :         
     150             :                 
     151             :                 
     152             :                 
     153             :                         
     154             :                 x->integrationTime = integrationTime.toIDLInterval();
     155             :                         
     156             :                 
     157             :         
     158             : 
     159             :         
     160             :                 
     161             :                 
     162             :                 
     163             :                         
     164             :                                 
     165             :                 x->numBaseLengths = numBaseLengths;
     166             :                                 
     167             :                         
     168             :                 
     169             :         
     170             : 
     171             :         
     172             :                 
     173             :                 
     174             :                 
     175             :                         
     176             :                 x->baselineLengths.length(baselineLengths.size());
     177             :                 for (unsigned int i = 0; i < baselineLengths.size(); ++i) {
     178             :                         
     179             :                         x->baselineLengths[i] = baselineLengths.at(i).toIDLLength();
     180             :                         
     181             :                 }
     182             :                         
     183             :                 
     184             :         
     185             : 
     186             :         
     187             :                 
     188             :                 
     189             :                 
     190             :                         
     191             :                 x->phaseRMS.length(phaseRMS.size());
     192             :                 for (unsigned int i = 0; i < phaseRMS.size(); ++i) {
     193             :                         
     194             :                         x->phaseRMS[i] = phaseRMS.at(i).toIDLAngle();
     195             :                         
     196             :                 }
     197             :                         
     198             :                 
     199             :         
     200             : 
     201             :         
     202             :                 
     203             :                 
     204             :                 
     205             :                         
     206             :                 x->seeing = seeing.toIDLAngle();
     207             :                         
     208             :                 
     209             :         
     210             : 
     211             :         
     212             :                 
     213             :                 
     214             :                 
     215             :                         
     216             :                 x->seeingError = seeingError.toIDLAngle();
     217             :                         
     218             :                 
     219             :         
     220             : 
     221             :         
     222             :                 
     223             :                 
     224             :                 x->exponentExists = exponentExists;
     225             :                 
     226             :                 
     227             :                         
     228             :                                 
     229             :                 x->exponent = exponent;
     230             :                                 
     231             :                         
     232             :                 
     233             :         
     234             : 
     235             :         
     236             :                 
     237             :                 
     238             :                 x->outerScaleExists = outerScaleExists;
     239             :                 
     240             :                 
     241             :                         
     242             :                 x->outerScale = outerScale.toIDLLength();
     243             :                         
     244             :                 
     245             :         
     246             : 
     247             :         
     248             :                 
     249             :                 
     250             :                 x->outerScaleRMSExists = outerScaleRMSExists;
     251             :                 
     252             :                 
     253             :                         
     254             :                 x->outerScaleRMS = outerScaleRMS.toIDLAngle();
     255             :                         
     256             :                 
     257             :         
     258             : 
     259             :         
     260             :         
     261             :                 
     262             :         
     263             :         
     264             :                 
     265             :                 
     266             :                 
     267             :                         
     268             :                 x->calDataId = calDataId.toIDLTag();
     269             :                         
     270             :                                 
     271             :         
     272             : 
     273             :         
     274             :         
     275             :                 
     276             :                 
     277             :                 
     278             :                         
     279             :                 x->calReductionId = calReductionId.toIDLTag();
     280             :                         
     281             :                                 
     282             :         
     283             : 
     284             :         
     285             :                 
     286             :         
     287             : 
     288             :         
     289             : 
     290             :                 
     291             :                 return x;
     292             :         
     293             :         }
     294             :         
     295             :         void CalSeeingRow::toIDL(asdmIDL::CalSeeingRowIDL& x) const {
     296             :                 // Set the x's fields.
     297             :         
     298             :                 
     299             :         
     300             :                 
     301             :                 
     302             :                 
     303             :                         
     304             :                                 
     305             :                 x.atmPhaseCorrection = atmPhaseCorrection;
     306             :                                 
     307             :                         
     308             :                 
     309             :         
     310             : 
     311             :         
     312             :                 
     313             :                 
     314             :                 
     315             :                         
     316             :                 x.startValidTime = startValidTime.toIDLArrayTime();
     317             :                         
     318             :                 
     319             :         
     320             : 
     321             :         
     322             :                 
     323             :                 
     324             :                 
     325             :                         
     326             :                 x.endValidTime = endValidTime.toIDLArrayTime();
     327             :                         
     328             :                 
     329             :         
     330             : 
     331             :         
     332             :                 
     333             :                 
     334             :                 
     335             :                         
     336             :                 x.frequencyRange.length(frequencyRange.size());
     337             :                 for (unsigned int i = 0; i < frequencyRange.size(); ++i) {
     338             :                         
     339             :                         x.frequencyRange[i] = frequencyRange.at(i).toIDLFrequency();
     340             :                         
     341             :                 }
     342             :                         
     343             :                 
     344             :         
     345             : 
     346             :         
     347             :                 
     348             :                 
     349             :                 
     350             :                         
     351             :                 x.integrationTime = integrationTime.toIDLInterval();
     352             :                         
     353             :                 
     354             :         
     355             : 
     356             :         
     357             :                 
     358             :                 
     359             :                 
     360             :                         
     361             :                                 
     362             :                 x.numBaseLengths = numBaseLengths;
     363             :                                 
     364             :                         
     365             :                 
     366             :         
     367             : 
     368             :         
     369             :                 
     370             :                 
     371             :                 
     372             :                         
     373             :                 x.baselineLengths.length(baselineLengths.size());
     374             :                 for (unsigned int i = 0; i < baselineLengths.size(); ++i) {
     375             :                         
     376             :                         x.baselineLengths[i] = baselineLengths.at(i).toIDLLength();
     377             :                         
     378             :                 }
     379             :                         
     380             :                 
     381             :         
     382             : 
     383             :         
     384             :                 
     385             :                 
     386             :                 
     387             :                         
     388             :                 x.phaseRMS.length(phaseRMS.size());
     389             :                 for (unsigned int i = 0; i < phaseRMS.size(); ++i) {
     390             :                         
     391             :                         x.phaseRMS[i] = phaseRMS.at(i).toIDLAngle();
     392             :                         
     393             :                 }
     394             :                         
     395             :                 
     396             :         
     397             : 
     398             :         
     399             :                 
     400             :                 
     401             :                 
     402             :                         
     403             :                 x.seeing = seeing.toIDLAngle();
     404             :                         
     405             :                 
     406             :         
     407             : 
     408             :         
     409             :                 
     410             :                 
     411             :                 
     412             :                         
     413             :                 x.seeingError = seeingError.toIDLAngle();
     414             :                         
     415             :                 
     416             :         
     417             : 
     418             :         
     419             :                 
     420             :                 
     421             :                 x.exponentExists = exponentExists;
     422             :                 
     423             :                 
     424             :                         
     425             :                                 
     426             :                 x.exponent = exponent;
     427             :                                 
     428             :                         
     429             :                 
     430             :         
     431             : 
     432             :         
     433             :                 
     434             :                 
     435             :                 x.outerScaleExists = outerScaleExists;
     436             :                 
     437             :                 
     438             :                         
     439             :                 x.outerScale = outerScale.toIDLLength();
     440             :                         
     441             :                 
     442             :         
     443             : 
     444             :         
     445             :                 
     446             :                 
     447             :                 x.outerScaleRMSExists = outerScaleRMSExists;
     448             :                 
     449             :                 
     450             :                         
     451             :                 x.outerScaleRMS = outerScaleRMS.toIDLAngle();
     452             :                         
     453             :                 
     454             :         
     455             : 
     456             :         
     457             :         
     458             :                 
     459             :         
     460             :         
     461             :                 
     462             :                 
     463             :                 
     464             :                         
     465             :                 x.calDataId = calDataId.toIDLTag();
     466             :                         
     467             :                                 
     468             :         
     469             : 
     470             :         
     471             :         
     472             :                 
     473             :                 
     474             :                 
     475             :                         
     476             :                 x.calReductionId = calReductionId.toIDLTag();
     477             :                         
     478             :                                 
     479             :         
     480             : 
     481             :         
     482             :                 
     483             :         
     484             : 
     485             :         
     486             : 
     487             :         
     488             :         }
     489             : #endif
     490             :         
     491             : 
     492             : #ifndef WITHOUT_ACS
     493             :         /**
     494             :          * Fill the values of this row from the IDL struct CalSeeingRowIDL.
     495             :          * @param x The IDL struct containing the values used to fill this row.
     496             :          */
     497             :         void CalSeeingRow::setFromIDL (CalSeeingRowIDL x){
     498             :                 try {
     499             :                 // Fill the values from x.
     500             :         
     501             :                 
     502             :         
     503             :                 
     504             :                 
     505             :                         
     506             :                 setAtmPhaseCorrection(x.atmPhaseCorrection);
     507             :                         
     508             :                 
     509             :                 
     510             :         
     511             : 
     512             :         
     513             :                 
     514             :                 
     515             :                         
     516             :                 setStartValidTime(ArrayTime (x.startValidTime));
     517             :                         
     518             :                 
     519             :                 
     520             :         
     521             : 
     522             :         
     523             :                 
     524             :                 
     525             :                         
     526             :                 setEndValidTime(ArrayTime (x.endValidTime));
     527             :                         
     528             :                 
     529             :                 
     530             :         
     531             : 
     532             :         
     533             :                 
     534             :                 
     535             :                         
     536             :                 frequencyRange .clear();
     537             :                 for (unsigned int i = 0; i <x.frequencyRange.length(); ++i) {
     538             :                         
     539             :                         frequencyRange.push_back(Frequency (x.frequencyRange[i]));
     540             :                         
     541             :                 }
     542             :                         
     543             :                 
     544             :                 
     545             :         
     546             : 
     547             :         
     548             :                 
     549             :                 
     550             :                         
     551             :                 setIntegrationTime(Interval (x.integrationTime));
     552             :                         
     553             :                 
     554             :                 
     555             :         
     556             : 
     557             :         
     558             :                 
     559             :                 
     560             :                         
     561             :                 setNumBaseLengths(x.numBaseLengths);
     562             :                         
     563             :                 
     564             :                 
     565             :         
     566             : 
     567             :         
     568             :                 
     569             :                 
     570             :                         
     571             :                 baselineLengths .clear();
     572             :                 for (unsigned int i = 0; i <x.baselineLengths.length(); ++i) {
     573             :                         
     574             :                         baselineLengths.push_back(Length (x.baselineLengths[i]));
     575             :                         
     576             :                 }
     577             :                         
     578             :                 
     579             :                 
     580             :         
     581             : 
     582             :         
     583             :                 
     584             :                 
     585             :                         
     586             :                 phaseRMS .clear();
     587             :                 for (unsigned int i = 0; i <x.phaseRMS.length(); ++i) {
     588             :                         
     589             :                         phaseRMS.push_back(Angle (x.phaseRMS[i]));
     590             :                         
     591             :                 }
     592             :                         
     593             :                 
     594             :                 
     595             :         
     596             : 
     597             :         
     598             :                 
     599             :                 
     600             :                         
     601             :                 setSeeing(Angle (x.seeing));
     602             :                         
     603             :                 
     604             :                 
     605             :         
     606             : 
     607             :         
     608             :                 
     609             :                 
     610             :                         
     611             :                 setSeeingError(Angle (x.seeingError));
     612             :                         
     613             :                 
     614             :                 
     615             :         
     616             : 
     617             :         
     618             :                 
     619             :                 exponentExists = x.exponentExists;
     620             :                 if (x.exponentExists) {
     621             :                 
     622             :                 
     623             :                         
     624             :                 setExponent(x.exponent);
     625             :                         
     626             :                 
     627             :                 
     628             :                 }
     629             :                 
     630             :         
     631             : 
     632             :         
     633             :                 
     634             :                 outerScaleExists = x.outerScaleExists;
     635             :                 if (x.outerScaleExists) {
     636             :                 
     637             :                 
     638             :                         
     639             :                 setOuterScale(Length (x.outerScale));
     640             :                         
     641             :                 
     642             :                 
     643             :                 }
     644             :                 
     645             :         
     646             : 
     647             :         
     648             :                 
     649             :                 outerScaleRMSExists = x.outerScaleRMSExists;
     650             :                 if (x.outerScaleRMSExists) {
     651             :                 
     652             :                 
     653             :                         
     654             :                 setOuterScaleRMS(Angle (x.outerScaleRMS));
     655             :                         
     656             :                 
     657             :                 
     658             :                 }
     659             :                 
     660             :         
     661             : 
     662             :         
     663             :         
     664             :                 
     665             :         
     666             :                 
     667             :                 
     668             :                         
     669             :                 setCalDataId(Tag (x.calDataId));
     670             :                         
     671             :                 
     672             :                 
     673             :         
     674             : 
     675             :         
     676             :                 
     677             :                 
     678             :                         
     679             :                 setCalReductionId(Tag (x.calReductionId));
     680             :                         
     681             :                 
     682             :                 
     683             :         
     684             : 
     685             :         
     686             :                 
     687             :         
     688             : 
     689             :         
     690             : 
     691             :                 } catch (const IllegalAccessException &err) {
     692             :                         throw ConversionException (err.getMessage(),"CalSeeing");
     693             :                 }
     694             :         }
     695             : #endif
     696             :         
     697             :         /**
     698             :          * Return this row in the form of an XML string.
     699             :          * @return The values of this row as an XML string.
     700             :          */
     701           0 :         string CalSeeingRow::toXML() const {
     702           0 :                 string buf;
     703           0 :                 buf.append("<row> \n");
     704             :                 
     705             :         
     706             :                 
     707             :         
     708             :                 
     709             :                 
     710           0 :                         buf.append(EnumerationParser::toXML("atmPhaseCorrection", atmPhaseCorrection));
     711             :                 
     712             :                 
     713             :         
     714             : 
     715             :         
     716             :                 
     717             :                 
     718           0 :                 Parser::toXML(startValidTime, "startValidTime", buf);
     719             :                 
     720             :                 
     721             :         
     722             : 
     723             :         
     724             :                 
     725             :                 
     726           0 :                 Parser::toXML(endValidTime, "endValidTime", buf);
     727             :                 
     728             :                 
     729             :         
     730             : 
     731             :         
     732             :                 
     733             :                 
     734           0 :                 Parser::toXML(frequencyRange, "frequencyRange", buf);
     735             :                 
     736             :                 
     737             :         
     738             : 
     739             :         
     740             :                 
     741             :                 
     742           0 :                 Parser::toXML(integrationTime, "integrationTime", buf);
     743             :                 
     744             :                 
     745             :         
     746             : 
     747             :         
     748             :                 
     749             :                 
     750           0 :                 Parser::toXML(numBaseLengths, "numBaseLengths", buf);
     751             :                 
     752             :                 
     753             :         
     754             : 
     755             :         
     756             :                 
     757             :                 
     758           0 :                 Parser::toXML(baselineLengths, "baselineLengths", buf);
     759             :                 
     760             :                 
     761             :         
     762             : 
     763             :         
     764             :                 
     765             :                 
     766           0 :                 Parser::toXML(phaseRMS, "phaseRMS", buf);
     767             :                 
     768             :                 
     769             :         
     770             : 
     771             :         
     772             :                 
     773             :                 
     774           0 :                 Parser::toXML(seeing, "seeing", buf);
     775             :                 
     776             :                 
     777             :         
     778             : 
     779             :         
     780             :                 
     781             :                 
     782           0 :                 Parser::toXML(seeingError, "seeingError", buf);
     783             :                 
     784             :                 
     785             :         
     786             : 
     787             :         
     788             :                 
     789           0 :                 if (exponentExists) {
     790             :                 
     791             :                 
     792           0 :                 Parser::toXML(exponent, "exponent", buf);
     793             :                 
     794             :                 
     795             :                 }
     796             :                 
     797             :         
     798             : 
     799             :         
     800             :                 
     801           0 :                 if (outerScaleExists) {
     802             :                 
     803             :                 
     804           0 :                 Parser::toXML(outerScale, "outerScale", buf);
     805             :                 
     806             :                 
     807             :                 }
     808             :                 
     809             :         
     810             : 
     811             :         
     812             :                 
     813           0 :                 if (outerScaleRMSExists) {
     814             :                 
     815             :                 
     816           0 :                 Parser::toXML(outerScaleRMS, "outerScaleRMS", buf);
     817             :                 
     818             :                 
     819             :                 }
     820             :                 
     821             :         
     822             : 
     823             :         
     824             :         
     825             :                 
     826             :         
     827             :                 
     828             :                 
     829           0 :                 Parser::toXML(calDataId, "calDataId", buf);
     830             :                 
     831             :                 
     832             :         
     833             : 
     834             :         
     835             :                 
     836             :                 
     837           0 :                 Parser::toXML(calReductionId, "calReductionId", buf);
     838             :                 
     839             :                 
     840             :         
     841             : 
     842             :         
     843             :                 
     844             :         
     845             : 
     846             :         
     847             : 
     848             :                 
     849           0 :                 buf.append("</row>\n");
     850           0 :                 return buf;
     851           0 :         }
     852             : 
     853             :         /**
     854             :          * Fill the values of this row from an XML string 
     855             :          * that was produced by the toXML() method.
     856             :          * @param x The XML string being used to set the values of this row.
     857             :          */
     858           5 :         void CalSeeingRow::setFromXML (string rowDoc) {
     859           5 :                 Parser row(rowDoc);
     860           5 :                 string s = "";
     861             :                 try {
     862             :         
     863             :                 
     864             :         
     865             :                 
     866             :                 
     867             :                 
     868           5 :                 atmPhaseCorrection = EnumerationParser::getAtmPhaseCorrection("atmPhaseCorrection","CalSeeing",rowDoc);
     869             :                 
     870             :                 
     871             :                 
     872             :         
     873             : 
     874             :         
     875             :                 
     876             :                         
     877           5 :                 setStartValidTime(Parser::getArrayTime("startValidTime","CalSeeing",rowDoc));
     878             :                         
     879             :                 
     880             :         
     881             : 
     882             :         
     883             :                 
     884             :                         
     885           5 :                 setEndValidTime(Parser::getArrayTime("endValidTime","CalSeeing",rowDoc));
     886             :                         
     887             :                 
     888             :         
     889             : 
     890             :         
     891             :                 
     892             :                         
     893             :                                         
     894           5 :                 setFrequencyRange(Parser::get1DFrequency("frequencyRange","CalSeeing",rowDoc));
     895             :                                 
     896             :                         
     897             :                 
     898             :         
     899             : 
     900             :         
     901             :                 
     902             :                         
     903           5 :                 setIntegrationTime(Parser::getInterval("integrationTime","CalSeeing",rowDoc));
     904             :                         
     905             :                 
     906             :         
     907             : 
     908             :         
     909             :                 
     910             :                         
     911           5 :                 setNumBaseLengths(Parser::getInteger("numBaseLengths","CalSeeing",rowDoc));
     912             :                         
     913             :                 
     914             :         
     915             : 
     916             :         
     917             :                 
     918             :                         
     919             :                                         
     920           5 :                 setBaselineLengths(Parser::get1DLength("baselineLengths","CalSeeing",rowDoc));
     921             :                                 
     922             :                         
     923             :                 
     924             :         
     925             : 
     926             :         
     927             :                 
     928             :                         
     929             :                                         
     930           5 :                 setPhaseRMS(Parser::get1DAngle("phaseRMS","CalSeeing",rowDoc));
     931             :                                 
     932             :                         
     933             :                 
     934             :         
     935             : 
     936             :         
     937             :                 
     938             :                         
     939           5 :                 setSeeing(Parser::getAngle("seeing","CalSeeing",rowDoc));
     940             :                         
     941             :                 
     942             :         
     943             : 
     944             :         
     945             :                 
     946             :                         
     947           5 :                 setSeeingError(Parser::getAngle("seeingError","CalSeeing",rowDoc));
     948             :                         
     949             :                 
     950             :         
     951             : 
     952             :         
     953             :                 
     954           5 :         if (row.isStr("<exponent>")) {
     955             :                         
     956           0 :                         setExponent(Parser::getFloat("exponent","CalSeeing",rowDoc));
     957             :                         
     958             :                 }
     959             :                 
     960             :         
     961             : 
     962             :         
     963             :                 
     964           5 :         if (row.isStr("<outerScale>")) {
     965             :                         
     966           0 :                         setOuterScale(Parser::getLength("outerScale","CalSeeing",rowDoc));
     967             :                         
     968             :                 }
     969             :                 
     970             :         
     971             : 
     972             :         
     973             :                 
     974           5 :         if (row.isStr("<outerScaleRMS>")) {
     975             :                         
     976           0 :                         setOuterScaleRMS(Parser::getAngle("outerScaleRMS","CalSeeing",rowDoc));
     977             :                         
     978             :                 }
     979             :                 
     980             :         
     981             : 
     982             :         
     983             :         
     984             :                 
     985             :         
     986             :                 
     987             :                         
     988           5 :                 setCalDataId(Parser::getTag("calDataId","CalData",rowDoc));
     989             :                         
     990             :                 
     991             :         
     992             : 
     993             :         
     994             :                 
     995             :                         
     996           5 :                 setCalReductionId(Parser::getTag("calReductionId","CalReduction",rowDoc));
     997             :                         
     998             :                 
     999             :         
    1000             : 
    1001             :         
    1002             :                 
    1003             :         
    1004             : 
    1005             :         
    1006             : 
    1007           0 :                 } catch (const IllegalAccessException &err) {
    1008           0 :                         throw ConversionException (err.getMessage(),"CalSeeing");
    1009           0 :                 }
    1010           5 :         }
    1011             :         
    1012           0 :         void CalSeeingRow::toBin(EndianOSStream& eoss) {
    1013             :         
    1014             :         
    1015             :         
    1016             :         
    1017             :                 
    1018             :                                         
    1019           0 :                 eoss.writeString(CAtmPhaseCorrection::name(atmPhaseCorrection));
    1020             :                         /* eoss.writeInt(atmPhaseCorrection); */
    1021             :                                 
    1022             :                 
    1023             :         
    1024             : 
    1025             :         
    1026             :         
    1027             :                 
    1028           0 :         calDataId.toBin(eoss);
    1029             :                 
    1030             :         
    1031             : 
    1032             :         
    1033             :         
    1034             :                 
    1035           0 :         calReductionId.toBin(eoss);
    1036             :                 
    1037             :         
    1038             : 
    1039             :         
    1040             :         
    1041             :                 
    1042           0 :         startValidTime.toBin(eoss);
    1043             :                 
    1044             :         
    1045             : 
    1046             :         
    1047             :         
    1048             :                 
    1049           0 :         endValidTime.toBin(eoss);
    1050             :                 
    1051             :         
    1052             : 
    1053             :         
    1054             :         
    1055             :                 
    1056           0 :         Frequency::toBin(frequencyRange, eoss);
    1057             :                 
    1058             :         
    1059             : 
    1060             :         
    1061             :         
    1062             :                 
    1063           0 :         integrationTime.toBin(eoss);
    1064             :                 
    1065             :         
    1066             : 
    1067             :         
    1068             :         
    1069             :                 
    1070             :                                                 
    1071           0 :                         eoss.writeInt(numBaseLengths);
    1072             :                                 
    1073             :                 
    1074             :         
    1075             : 
    1076             :         
    1077             :         
    1078             :                 
    1079           0 :         Length::toBin(baselineLengths, eoss);
    1080             :                 
    1081             :         
    1082             : 
    1083             :         
    1084             :         
    1085             :                 
    1086           0 :         Angle::toBin(phaseRMS, eoss);
    1087             :                 
    1088             :         
    1089             : 
    1090             :         
    1091             :         
    1092             :                 
    1093           0 :         seeing.toBin(eoss);
    1094             :                 
    1095             :         
    1096             : 
    1097             :         
    1098             :         
    1099             :                 
    1100           0 :         seeingError.toBin(eoss);
    1101             :                 
    1102             :         
    1103             : 
    1104             : 
    1105             :         
    1106             :         
    1107           0 :         eoss.writeBoolean(exponentExists);
    1108           0 :         if (exponentExists) {
    1109             :         
    1110             :         
    1111             :         
    1112             :                 
    1113             :                                                 
    1114           0 :                         eoss.writeFloat(exponent);
    1115             :                                 
    1116             :                 
    1117             :         
    1118             : 
    1119             :         }
    1120             : 
    1121           0 :         eoss.writeBoolean(outerScaleExists);
    1122           0 :         if (outerScaleExists) {
    1123             :         
    1124             :         
    1125             :         
    1126             :                 
    1127           0 :         outerScale.toBin(eoss);
    1128             :                 
    1129             :         
    1130             : 
    1131             :         }
    1132             : 
    1133           0 :         eoss.writeBoolean(outerScaleRMSExists);
    1134           0 :         if (outerScaleRMSExists) {
    1135             :         
    1136             :         
    1137             :         
    1138             :                 
    1139           0 :         outerScaleRMS.toBin(eoss);
    1140             :                 
    1141             :         
    1142             : 
    1143             :         }
    1144             : 
    1145           0 :         }
    1146             :         
    1147           5 : void CalSeeingRow::atmPhaseCorrectionFromBin(EndianIStream& eis) {
    1148             :                 
    1149             :         
    1150             :         
    1151             :                 
    1152             :                         
    1153           5 :                 atmPhaseCorrection = CAtmPhaseCorrection::literal(eis.readString());
    1154             :                         
    1155             :                 
    1156             :         
    1157             :         
    1158           5 : }
    1159           5 : void CalSeeingRow::calDataIdFromBin(EndianIStream& eis) {
    1160             :                 
    1161             :         
    1162             :                 
    1163             :                 
    1164           5 :                 calDataId =  Tag::fromBin(eis);
    1165             :                 
    1166             :         
    1167             :         
    1168           5 : }
    1169           5 : void CalSeeingRow::calReductionIdFromBin(EndianIStream& eis) {
    1170             :                 
    1171             :         
    1172             :                 
    1173             :                 
    1174           5 :                 calReductionId =  Tag::fromBin(eis);
    1175             :                 
    1176             :         
    1177             :         
    1178           5 : }
    1179           5 : void CalSeeingRow::startValidTimeFromBin(EndianIStream& eis) {
    1180             :                 
    1181             :         
    1182             :                 
    1183             :                 
    1184           5 :                 startValidTime =  ArrayTime::fromBin(eis);
    1185             :                 
    1186             :         
    1187             :         
    1188           5 : }
    1189           5 : void CalSeeingRow::endValidTimeFromBin(EndianIStream& eis) {
    1190             :                 
    1191             :         
    1192             :                 
    1193             :                 
    1194           5 :                 endValidTime =  ArrayTime::fromBin(eis);
    1195             :                 
    1196             :         
    1197             :         
    1198           5 : }
    1199           5 : void CalSeeingRow::frequencyRangeFromBin(EndianIStream& eis) {
    1200             :                 
    1201             :         
    1202             :                 
    1203             :                 
    1204             :                         
    1205             :         
    1206           5 :         frequencyRange = Frequency::from1DBin(eis);     
    1207             :         
    1208             : 
    1209             :                 
    1210             :         
    1211             :         
    1212           5 : }
    1213           5 : void CalSeeingRow::integrationTimeFromBin(EndianIStream& eis) {
    1214             :                 
    1215             :         
    1216             :                 
    1217             :                 
    1218           5 :                 integrationTime =  Interval::fromBin(eis);
    1219             :                 
    1220             :         
    1221             :         
    1222           5 : }
    1223           5 : void CalSeeingRow::numBaseLengthsFromBin(EndianIStream& eis) {
    1224             :                 
    1225             :         
    1226             :         
    1227             :                 
    1228             :                         
    1229           5 :                 numBaseLengths =  eis.readInt();
    1230             :                         
    1231             :                 
    1232             :         
    1233             :         
    1234           5 : }
    1235           5 : void CalSeeingRow::baselineLengthsFromBin(EndianIStream& eis) {
    1236             :                 
    1237             :         
    1238             :                 
    1239             :                 
    1240             :                         
    1241             :         
    1242           5 :         baselineLengths = Length::from1DBin(eis);       
    1243             :         
    1244             : 
    1245             :                 
    1246             :         
    1247             :         
    1248           5 : }
    1249           5 : void CalSeeingRow::phaseRMSFromBin(EndianIStream& eis) {
    1250             :                 
    1251             :         
    1252             :                 
    1253             :                 
    1254             :                         
    1255             :         
    1256           5 :         phaseRMS = Angle::from1DBin(eis);       
    1257             :         
    1258             : 
    1259             :                 
    1260             :         
    1261             :         
    1262           5 : }
    1263           5 : void CalSeeingRow::seeingFromBin(EndianIStream& eis) {
    1264             :                 
    1265             :         
    1266             :                 
    1267             :                 
    1268           5 :                 seeing =  Angle::fromBin(eis);
    1269             :                 
    1270             :         
    1271             :         
    1272           5 : }
    1273           5 : void CalSeeingRow::seeingErrorFromBin(EndianIStream& eis) {
    1274             :                 
    1275             :         
    1276             :                 
    1277             :                 
    1278           5 :                 seeingError =  Angle::fromBin(eis);
    1279             :                 
    1280             :         
    1281             :         
    1282           5 : }
    1283             : 
    1284           5 : void CalSeeingRow::exponentFromBin(EndianIStream& eis) {
    1285             :                 
    1286           5 :         exponentExists = eis.readBoolean();
    1287           5 :         if (exponentExists) {
    1288             :                 
    1289             :         
    1290             :         
    1291             :                 
    1292             :                         
    1293           0 :                 exponent =  eis.readFloat();
    1294             :                         
    1295             :                 
    1296             :         
    1297             : 
    1298             :         }
    1299             :         
    1300           5 : }
    1301           5 : void CalSeeingRow::outerScaleFromBin(EndianIStream& eis) {
    1302             :                 
    1303           5 :         outerScaleExists = eis.readBoolean();
    1304           5 :         if (outerScaleExists) {
    1305             :                 
    1306             :         
    1307             :                 
    1308             :                 
    1309           0 :                 outerScale =  Length::fromBin(eis);
    1310             :                 
    1311             :         
    1312             : 
    1313             :         }
    1314             :         
    1315           5 : }
    1316           5 : void CalSeeingRow::outerScaleRMSFromBin(EndianIStream& eis) {
    1317             :                 
    1318           5 :         outerScaleRMSExists = eis.readBoolean();
    1319           5 :         if (outerScaleRMSExists) {
    1320             :                 
    1321             :         
    1322             :                 
    1323             :                 
    1324           0 :                 outerScaleRMS =  Angle::fromBin(eis);
    1325             :                 
    1326             :         
    1327             : 
    1328             :         }
    1329             :         
    1330           5 : }
    1331             :         
    1332             :         
    1333           5 :         CalSeeingRow* CalSeeingRow::fromBin(EndianIStream& eis, CalSeeingTable& table, const vector<string>& attributesSeq) {
    1334           5 :                 CalSeeingRow* row = new  CalSeeingRow(table);
    1335             :                 
    1336           5 :                 map<string, CalSeeingAttributeFromBin>::iterator iter ;
    1337          80 :                 for (unsigned int i = 0; i < attributesSeq.size(); i++) {
    1338          75 :                         iter = row->fromBinMethods.find(attributesSeq.at(i));
    1339          75 :                         if (iter != row->fromBinMethods.end()) {
    1340          75 :                                 (row->*(row->fromBinMethods[ attributesSeq.at(i) ] ))(eis);                       
    1341             :                         }
    1342             :                         else {
    1343           0 :                                 BinaryAttributeReaderFunctor* functorP = table.getUnknownAttributeBinaryReader(attributesSeq.at(i));
    1344           0 :                                 if (functorP)
    1345           0 :                                         (*functorP)(eis);
    1346             :                                 else
    1347           0 :                                         throw ConversionException("There is not method to read an attribute '"+attributesSeq.at(i)+"'.", "CalSeeingTable");
    1348             :                         }
    1349             :                                 
    1350             :                 }                               
    1351           5 :                 return row;
    1352             :         }
    1353             : 
    1354             :         //
    1355             :         // A collection of methods to set the value of the attributes from their textual value in the XML representation
    1356             :         // of one row.
    1357             :         //
    1358             :         
    1359             :         // Convert a string into an AtmPhaseCorrection 
    1360           0 :         void CalSeeingRow::atmPhaseCorrectionFromText(const string & s) {
    1361             :                  
    1362             :           
    1363           0 :                 atmPhaseCorrection = ASDMValuesParser::parse<AtmPhaseCorrectionMod::AtmPhaseCorrection>(s);
    1364             :           
    1365             :                 
    1366           0 :         }
    1367             :         
    1368             :         
    1369             :         // Convert a string into an Tag 
    1370           0 :         void CalSeeingRow::calDataIdFromText(const string & s) {
    1371             :                  
    1372             :           
    1373           0 :                 calDataId = ASDMValuesParser::parse<Tag>(s);
    1374             :           
    1375             :                 
    1376           0 :         }
    1377             :         
    1378             :         
    1379             :         // Convert a string into an Tag 
    1380           0 :         void CalSeeingRow::calReductionIdFromText(const string & s) {
    1381             :                  
    1382             :           
    1383           0 :                 calReductionId = ASDMValuesParser::parse<Tag>(s);
    1384             :           
    1385             :                 
    1386           0 :         }
    1387             :         
    1388             :         
    1389             :         // Convert a string into an ArrayTime 
    1390           0 :         void CalSeeingRow::startValidTimeFromText(const string & s) {
    1391             :                  
    1392             :           
    1393           0 :                 startValidTime = ASDMValuesParser::parse<ArrayTime>(s);
    1394             :           
    1395             :                 
    1396           0 :         }
    1397             :         
    1398             :         
    1399             :         // Convert a string into an ArrayTime 
    1400           0 :         void CalSeeingRow::endValidTimeFromText(const string & s) {
    1401             :                  
    1402             :           
    1403           0 :                 endValidTime = ASDMValuesParser::parse<ArrayTime>(s);
    1404             :           
    1405             :                 
    1406           0 :         }
    1407             :         
    1408             :         
    1409             :         // Convert a string into an Frequency 
    1410           0 :         void CalSeeingRow::frequencyRangeFromText(const string & s) {
    1411             :                  
    1412             :           
    1413           0 :                 frequencyRange = ASDMValuesParser::parse1D<Frequency>(s);
    1414             :           
    1415             :                 
    1416           0 :         }
    1417             :         
    1418             :         
    1419             :         // Convert a string into an Interval 
    1420           0 :         void CalSeeingRow::integrationTimeFromText(const string & s) {
    1421             :                  
    1422             :           
    1423           0 :                 integrationTime = ASDMValuesParser::parse<Interval>(s);
    1424             :           
    1425             :                 
    1426           0 :         }
    1427             :         
    1428             :         
    1429             :         // Convert a string into an int 
    1430           0 :         void CalSeeingRow::numBaseLengthsFromText(const string & s) {
    1431             :                  
    1432             :           
    1433           0 :                 numBaseLengths = ASDMValuesParser::parse<int>(s);
    1434             :           
    1435             :                 
    1436           0 :         }
    1437             :         
    1438             :         
    1439             :         // Convert a string into an Length 
    1440           0 :         void CalSeeingRow::baselineLengthsFromText(const string & s) {
    1441             :                  
    1442             :           
    1443           0 :                 baselineLengths = ASDMValuesParser::parse1D<Length>(s);
    1444             :           
    1445             :                 
    1446           0 :         }
    1447             :         
    1448             :         
    1449             :         // Convert a string into an Angle 
    1450           0 :         void CalSeeingRow::phaseRMSFromText(const string & s) {
    1451             :                  
    1452             :           
    1453           0 :                 phaseRMS = ASDMValuesParser::parse1D<Angle>(s);
    1454             :           
    1455             :                 
    1456           0 :         }
    1457             :         
    1458             :         
    1459             :         // Convert a string into an Angle 
    1460           0 :         void CalSeeingRow::seeingFromText(const string & s) {
    1461             :                  
    1462             :           
    1463           0 :                 seeing = ASDMValuesParser::parse<Angle>(s);
    1464             :           
    1465             :                 
    1466           0 :         }
    1467             :         
    1468             :         
    1469             :         // Convert a string into an Angle 
    1470           0 :         void CalSeeingRow::seeingErrorFromText(const string & s) {
    1471             :                  
    1472             :           
    1473           0 :                 seeingError = ASDMValuesParser::parse<Angle>(s);
    1474             :           
    1475             :                 
    1476           0 :         }
    1477             :         
    1478             : 
    1479             :         
    1480             :         // Convert a string into an float 
    1481           0 :         void CalSeeingRow::exponentFromText(const string & s) {
    1482           0 :                 exponentExists = true;
    1483             :                  
    1484             :           
    1485           0 :                 exponent = ASDMValuesParser::parse<float>(s);
    1486             :           
    1487             :                 
    1488           0 :         }
    1489             :         
    1490             :         
    1491             :         // Convert a string into an Length 
    1492           0 :         void CalSeeingRow::outerScaleFromText(const string & s) {
    1493           0 :                 outerScaleExists = true;
    1494             :                  
    1495             :           
    1496           0 :                 outerScale = ASDMValuesParser::parse<Length>(s);
    1497             :           
    1498             :                 
    1499           0 :         }
    1500             :         
    1501             :         
    1502             :         // Convert a string into an Angle 
    1503           0 :         void CalSeeingRow::outerScaleRMSFromText(const string & s) {
    1504           0 :                 outerScaleRMSExists = true;
    1505             :                  
    1506             :           
    1507           0 :                 outerScaleRMS = ASDMValuesParser::parse<Angle>(s);
    1508             :           
    1509             :                 
    1510           0 :         }
    1511             :         
    1512             :         
    1513             :         
    1514           0 :         void CalSeeingRow::fromText(const std::string& attributeName, const std::string&  t) {
    1515           0 :                 map<string, CalSeeingAttributeFromText>::iterator iter;
    1516           0 :                 if ((iter = fromTextMethods.find(attributeName)) == fromTextMethods.end())
    1517           0 :                         throw ConversionException("I do not know what to do with '"+attributeName+"' and its content '"+t+"' (while parsing an XML document)", "CalSeeingTable");
    1518           0 :                 (this->*(iter->second))(t);
    1519           0 :         }
    1520             :                         
    1521             :         ////////////////////////////////////////////////
    1522             :         // Intrinsic Table Attributes getters/setters //
    1523             :         ////////////////////////////////////////////////
    1524             :         
    1525             :         
    1526             : 
    1527             :         
    1528             :         /**
    1529             :          * Get atmPhaseCorrection.
    1530             :          * @return atmPhaseCorrection as AtmPhaseCorrectionMod::AtmPhaseCorrection
    1531             :          */
    1532          15 :         AtmPhaseCorrectionMod::AtmPhaseCorrection CalSeeingRow::getAtmPhaseCorrection() const {
    1533             :         
    1534          15 :                 return atmPhaseCorrection;
    1535             :         }
    1536             : 
    1537             :         /**
    1538             :          * Set atmPhaseCorrection with the specified AtmPhaseCorrectionMod::AtmPhaseCorrection.
    1539             :          * @param atmPhaseCorrection The AtmPhaseCorrectionMod::AtmPhaseCorrection value to which atmPhaseCorrection is to be set.
    1540             :          
    1541             :         
    1542             :                 
    1543             :          * @throw IllegalAccessException If an attempt is made to change this field after is has been added to the table.
    1544             :                 
    1545             :          */
    1546           0 :         void CalSeeingRow::setAtmPhaseCorrection (AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection)  {
    1547             :         
    1548             :         
    1549           0 :                 if (hasBeenAdded) {
    1550             :                 
    1551           0 :                         throw IllegalAccessException("atmPhaseCorrection", "CalSeeing");
    1552             :                 
    1553             :                 }
    1554             :         
    1555           0 :                 this->atmPhaseCorrection = atmPhaseCorrection;
    1556             :         
    1557           0 :         }
    1558             :         
    1559             :         
    1560             : 
    1561             :         
    1562             : 
    1563             :         
    1564             :         /**
    1565             :          * Get startValidTime.
    1566             :          * @return startValidTime as ArrayTime
    1567             :          */
    1568          10 :         ArrayTime CalSeeingRow::getStartValidTime() const {
    1569             :         
    1570          10 :                 return startValidTime;
    1571             :         }
    1572             : 
    1573             :         /**
    1574             :          * Set startValidTime with the specified ArrayTime.
    1575             :          * @param startValidTime The ArrayTime value to which startValidTime is to be set.
    1576             :          
    1577             :         
    1578             :                 
    1579             :          */
    1580           5 :         void CalSeeingRow::setStartValidTime (ArrayTime startValidTime)  {
    1581             :         
    1582             :         
    1583           5 :                 if (hasBeenAdded) {
    1584             :                 
    1585             :                 }
    1586             :         
    1587           5 :                 this->startValidTime = startValidTime;
    1588             :         
    1589           5 :         }
    1590             :         
    1591             :         
    1592             : 
    1593             :         
    1594             : 
    1595             :         
    1596             :         /**
    1597             :          * Get endValidTime.
    1598             :          * @return endValidTime as ArrayTime
    1599             :          */
    1600          10 :         ArrayTime CalSeeingRow::getEndValidTime() const {
    1601             :         
    1602          10 :                 return endValidTime;
    1603             :         }
    1604             : 
    1605             :         /**
    1606             :          * Set endValidTime with the specified ArrayTime.
    1607             :          * @param endValidTime The ArrayTime value to which endValidTime is to be set.
    1608             :          
    1609             :         
    1610             :                 
    1611             :          */
    1612           5 :         void CalSeeingRow::setEndValidTime (ArrayTime endValidTime)  {
    1613             :         
    1614             :         
    1615           5 :                 if (hasBeenAdded) {
    1616             :                 
    1617             :                 }
    1618             :         
    1619           5 :                 this->endValidTime = endValidTime;
    1620             :         
    1621           5 :         }
    1622             :         
    1623             :         
    1624             : 
    1625             :         
    1626             : 
    1627             :         
    1628             :         /**
    1629             :          * Get frequencyRange.
    1630             :          * @return frequencyRange as std::vector<Frequency >
    1631             :          */
    1632          10 :         std::vector<Frequency > CalSeeingRow::getFrequencyRange() const {
    1633             :         
    1634          10 :                 return frequencyRange;
    1635             :         }
    1636             : 
    1637             :         /**
    1638             :          * Set frequencyRange with the specified std::vector<Frequency >.
    1639             :          * @param frequencyRange The std::vector<Frequency > value to which frequencyRange is to be set.
    1640             :          
    1641             :         
    1642             :                 
    1643             :          */
    1644           5 :         void CalSeeingRow::setFrequencyRange (std::vector<Frequency > frequencyRange)  {
    1645             :         
    1646             :         
    1647           5 :                 if (hasBeenAdded) {
    1648             :                 
    1649             :                 }
    1650             :         
    1651           5 :                 this->frequencyRange = frequencyRange;
    1652             :         
    1653           5 :         }
    1654             :         
    1655             :         
    1656             : 
    1657             :         
    1658             : 
    1659             :         
    1660             :         /**
    1661             :          * Get integrationTime.
    1662             :          * @return integrationTime as Interval
    1663             :          */
    1664          10 :         Interval CalSeeingRow::getIntegrationTime() const {
    1665             :         
    1666          10 :                 return integrationTime;
    1667             :         }
    1668             : 
    1669             :         /**
    1670             :          * Set integrationTime with the specified Interval.
    1671             :          * @param integrationTime The Interval value to which integrationTime is to be set.
    1672             :          
    1673             :         
    1674             :                 
    1675             :          */
    1676           5 :         void CalSeeingRow::setIntegrationTime (Interval integrationTime)  {
    1677             :         
    1678             :         
    1679           5 :                 if (hasBeenAdded) {
    1680             :                 
    1681             :                 }
    1682             :         
    1683           5 :                 this->integrationTime = integrationTime;
    1684             :         
    1685           5 :         }
    1686             :         
    1687             :         
    1688             : 
    1689             :         
    1690             : 
    1691             :         
    1692             :         /**
    1693             :          * Get numBaseLengths.
    1694             :          * @return numBaseLengths as int
    1695             :          */
    1696          10 :         int CalSeeingRow::getNumBaseLengths() const {
    1697             :         
    1698          10 :                 return numBaseLengths;
    1699             :         }
    1700             : 
    1701             :         /**
    1702             :          * Set numBaseLengths with the specified int.
    1703             :          * @param numBaseLengths The int value to which numBaseLengths is to be set.
    1704             :          
    1705             :         
    1706             :                 
    1707             :          */
    1708           5 :         void CalSeeingRow::setNumBaseLengths (int numBaseLengths)  {
    1709             :         
    1710             :         
    1711           5 :                 if (hasBeenAdded) {
    1712             :                 
    1713             :                 }
    1714             :         
    1715           5 :                 this->numBaseLengths = numBaseLengths;
    1716             :         
    1717           5 :         }
    1718             :         
    1719             :         
    1720             : 
    1721             :         
    1722             : 
    1723             :         
    1724             :         /**
    1725             :          * Get baselineLengths.
    1726             :          * @return baselineLengths as std::vector<Length >
    1727             :          */
    1728          10 :         std::vector<Length > CalSeeingRow::getBaselineLengths() const {
    1729             :         
    1730          10 :                 return baselineLengths;
    1731             :         }
    1732             : 
    1733             :         /**
    1734             :          * Set baselineLengths with the specified std::vector<Length >.
    1735             :          * @param baselineLengths The std::vector<Length > value to which baselineLengths is to be set.
    1736             :          
    1737             :         
    1738             :                 
    1739             :          */
    1740           5 :         void CalSeeingRow::setBaselineLengths (std::vector<Length > baselineLengths)  {
    1741             :         
    1742             :         
    1743           5 :                 if (hasBeenAdded) {
    1744             :                 
    1745             :                 }
    1746             :         
    1747           5 :                 this->baselineLengths = baselineLengths;
    1748             :         
    1749           5 :         }
    1750             :         
    1751             :         
    1752             : 
    1753             :         
    1754             : 
    1755             :         
    1756             :         /**
    1757             :          * Get phaseRMS.
    1758             :          * @return phaseRMS as std::vector<Angle >
    1759             :          */
    1760          10 :         std::vector<Angle > CalSeeingRow::getPhaseRMS() const {
    1761             :         
    1762          10 :                 return phaseRMS;
    1763             :         }
    1764             : 
    1765             :         /**
    1766             :          * Set phaseRMS with the specified std::vector<Angle >.
    1767             :          * @param phaseRMS The std::vector<Angle > value to which phaseRMS is to be set.
    1768             :          
    1769             :         
    1770             :                 
    1771             :          */
    1772           5 :         void CalSeeingRow::setPhaseRMS (std::vector<Angle > phaseRMS)  {
    1773             :         
    1774             :         
    1775           5 :                 if (hasBeenAdded) {
    1776             :                 
    1777             :                 }
    1778             :         
    1779           5 :                 this->phaseRMS = phaseRMS;
    1780             :         
    1781           5 :         }
    1782             :         
    1783             :         
    1784             : 
    1785             :         
    1786             : 
    1787             :         
    1788             :         /**
    1789             :          * Get seeing.
    1790             :          * @return seeing as Angle
    1791             :          */
    1792          10 :         Angle CalSeeingRow::getSeeing() const {
    1793             :         
    1794          10 :                 return seeing;
    1795             :         }
    1796             : 
    1797             :         /**
    1798             :          * Set seeing with the specified Angle.
    1799             :          * @param seeing The Angle value to which seeing is to be set.
    1800             :          
    1801             :         
    1802             :                 
    1803             :          */
    1804           5 :         void CalSeeingRow::setSeeing (Angle seeing)  {
    1805             :         
    1806             :         
    1807           5 :                 if (hasBeenAdded) {
    1808             :                 
    1809             :                 }
    1810             :         
    1811           5 :                 this->seeing = seeing;
    1812             :         
    1813           5 :         }
    1814             :         
    1815             :         
    1816             : 
    1817             :         
    1818             : 
    1819             :         
    1820             :         /**
    1821             :          * Get seeingError.
    1822             :          * @return seeingError as Angle
    1823             :          */
    1824          10 :         Angle CalSeeingRow::getSeeingError() const {
    1825             :         
    1826          10 :                 return seeingError;
    1827             :         }
    1828             : 
    1829             :         /**
    1830             :          * Set seeingError with the specified Angle.
    1831             :          * @param seeingError The Angle value to which seeingError is to be set.
    1832             :          
    1833             :         
    1834             :                 
    1835             :          */
    1836           5 :         void CalSeeingRow::setSeeingError (Angle seeingError)  {
    1837             :         
    1838             :         
    1839           5 :                 if (hasBeenAdded) {
    1840             :                 
    1841             :                 }
    1842             :         
    1843           5 :                 this->seeingError = seeingError;
    1844             :         
    1845           5 :         }
    1846             :         
    1847             :         
    1848             : 
    1849             :         
    1850             :         /**
    1851             :          * The attribute exponent is optional. Return true if this attribute exists.
    1852             :          * @return true if and only if the exponent attribute exists. 
    1853             :          */
    1854          10 :         bool CalSeeingRow::isExponentExists() const {
    1855          10 :                 return exponentExists;
    1856             :         }
    1857             :         
    1858             : 
    1859             :         
    1860             :         /**
    1861             :          * Get exponent, which is optional.
    1862             :          * @return exponent as float
    1863             :          * @throw IllegalAccessException If exponent does not exist.
    1864             :          */
    1865           0 :         float CalSeeingRow::getExponent() const  {
    1866           0 :                 if (!exponentExists) {
    1867           0 :                         throw IllegalAccessException("exponent", "CalSeeing");
    1868             :                 }
    1869             :         
    1870           0 :                 return exponent;
    1871             :         }
    1872             : 
    1873             :         /**
    1874             :          * Set exponent with the specified float.
    1875             :          * @param exponent The float value to which exponent is to be set.
    1876             :          
    1877             :         
    1878             :          */
    1879           0 :         void CalSeeingRow::setExponent (float exponent) {
    1880             :         
    1881           0 :                 this->exponent = exponent;
    1882             :         
    1883           0 :                 exponentExists = true;
    1884             :         
    1885           0 :         }
    1886             :         
    1887             :         
    1888             :         /**
    1889             :          * Mark exponent, which is an optional field, as non-existent.
    1890             :          */
    1891           0 :         void CalSeeingRow::clearExponent () {
    1892           0 :                 exponentExists = false;
    1893           0 :         }
    1894             :         
    1895             : 
    1896             :         
    1897             :         /**
    1898             :          * The attribute outerScale is optional. Return true if this attribute exists.
    1899             :          * @return true if and only if the outerScale attribute exists. 
    1900             :          */
    1901          10 :         bool CalSeeingRow::isOuterScaleExists() const {
    1902          10 :                 return outerScaleExists;
    1903             :         }
    1904             :         
    1905             : 
    1906             :         
    1907             :         /**
    1908             :          * Get outerScale, which is optional.
    1909             :          * @return outerScale as Length
    1910             :          * @throw IllegalAccessException If outerScale does not exist.
    1911             :          */
    1912           0 :         Length CalSeeingRow::getOuterScale() const  {
    1913           0 :                 if (!outerScaleExists) {
    1914           0 :                         throw IllegalAccessException("outerScale", "CalSeeing");
    1915             :                 }
    1916             :         
    1917           0 :                 return outerScale;
    1918             :         }
    1919             : 
    1920             :         /**
    1921             :          * Set outerScale with the specified Length.
    1922             :          * @param outerScale The Length value to which outerScale is to be set.
    1923             :          
    1924             :         
    1925             :          */
    1926           0 :         void CalSeeingRow::setOuterScale (Length outerScale) {
    1927             :         
    1928           0 :                 this->outerScale = outerScale;
    1929             :         
    1930           0 :                 outerScaleExists = true;
    1931             :         
    1932           0 :         }
    1933             :         
    1934             :         
    1935             :         /**
    1936             :          * Mark outerScale, which is an optional field, as non-existent.
    1937             :          */
    1938           0 :         void CalSeeingRow::clearOuterScale () {
    1939           0 :                 outerScaleExists = false;
    1940           0 :         }
    1941             :         
    1942             : 
    1943             :         
    1944             :         /**
    1945             :          * The attribute outerScaleRMS is optional. Return true if this attribute exists.
    1946             :          * @return true if and only if the outerScaleRMS attribute exists. 
    1947             :          */
    1948          10 :         bool CalSeeingRow::isOuterScaleRMSExists() const {
    1949          10 :                 return outerScaleRMSExists;
    1950             :         }
    1951             :         
    1952             : 
    1953             :         
    1954             :         /**
    1955             :          * Get outerScaleRMS, which is optional.
    1956             :          * @return outerScaleRMS as Angle
    1957             :          * @throw IllegalAccessException If outerScaleRMS does not exist.
    1958             :          */
    1959           0 :         Angle CalSeeingRow::getOuterScaleRMS() const  {
    1960           0 :                 if (!outerScaleRMSExists) {
    1961           0 :                         throw IllegalAccessException("outerScaleRMS", "CalSeeing");
    1962             :                 }
    1963             :         
    1964           0 :                 return outerScaleRMS;
    1965             :         }
    1966             : 
    1967             :         /**
    1968             :          * Set outerScaleRMS with the specified Angle.
    1969             :          * @param outerScaleRMS The Angle value to which outerScaleRMS is to be set.
    1970             :          
    1971             :         
    1972             :          */
    1973           0 :         void CalSeeingRow::setOuterScaleRMS (Angle outerScaleRMS) {
    1974             :         
    1975           0 :                 this->outerScaleRMS = outerScaleRMS;
    1976             :         
    1977           0 :                 outerScaleRMSExists = true;
    1978             :         
    1979           0 :         }
    1980             :         
    1981             :         
    1982             :         /**
    1983             :          * Mark outerScaleRMS, which is an optional field, as non-existent.
    1984             :          */
    1985           0 :         void CalSeeingRow::clearOuterScaleRMS () {
    1986           0 :                 outerScaleRMSExists = false;
    1987           0 :         }
    1988             :         
    1989             : 
    1990             :         
    1991             :         ///////////////////////////////////////////////
    1992             :         // Extrinsic Table Attributes getters/setters//
    1993             :         ///////////////////////////////////////////////
    1994             :         
    1995             :         
    1996             : 
    1997             :         
    1998             :         /**
    1999             :          * Get calDataId.
    2000             :          * @return calDataId as Tag
    2001             :          */
    2002          15 :         Tag CalSeeingRow::getCalDataId() const {
    2003             :         
    2004          15 :                 return calDataId;
    2005             :         }
    2006             : 
    2007             :         /**
    2008             :          * Set calDataId with the specified Tag.
    2009             :          * @param calDataId The Tag value to which calDataId is to be set.
    2010             :          
    2011             :         
    2012             :                 
    2013             :          * @throw IllegalAccessException If an attempt is made to change this field after is has been added to the table.
    2014             :                 
    2015             :          */
    2016           5 :         void CalSeeingRow::setCalDataId (Tag calDataId)  {
    2017             :         
    2018             :         
    2019           5 :                 if (hasBeenAdded) {
    2020             :                 
    2021           0 :                         throw IllegalAccessException("calDataId", "CalSeeing");
    2022             :                 
    2023             :                 }
    2024             :         
    2025           5 :                 this->calDataId = calDataId;
    2026             :         
    2027           5 :         }
    2028             :         
    2029             :         
    2030             : 
    2031             :         
    2032             : 
    2033             :         
    2034             :         /**
    2035             :          * Get calReductionId.
    2036             :          * @return calReductionId as Tag
    2037             :          */
    2038          15 :         Tag CalSeeingRow::getCalReductionId() const {
    2039             :         
    2040          15 :                 return calReductionId;
    2041             :         }
    2042             : 
    2043             :         /**
    2044             :          * Set calReductionId with the specified Tag.
    2045             :          * @param calReductionId The Tag value to which calReductionId is to be set.
    2046             :          
    2047             :         
    2048             :                 
    2049             :          * @throw IllegalAccessException If an attempt is made to change this field after is has been added to the table.
    2050             :                 
    2051             :          */
    2052           5 :         void CalSeeingRow::setCalReductionId (Tag calReductionId)  {
    2053             :         
    2054             :         
    2055           5 :                 if (hasBeenAdded) {
    2056             :                 
    2057           0 :                         throw IllegalAccessException("calReductionId", "CalSeeing");
    2058             :                 
    2059             :                 }
    2060             :         
    2061           5 :                 this->calReductionId = calReductionId;
    2062             :         
    2063           5 :         }
    2064             :         
    2065             :         
    2066             : 
    2067             : 
    2068             :         //////////////////////////////////////
    2069             :         // Links Attributes getters/setters //
    2070             :         //////////////////////////////////////
    2071             :         
    2072             :         
    2073             :         
    2074             :         
    2075             :                 
    2076             : 
    2077             :         /**
    2078             :          * Returns the pointer to the row in the CalData table having CalData.calDataId == calDataId
    2079             :          * @return a CalDataRow*
    2080             :          * 
    2081             :          
    2082             :          */
    2083           0 :          CalDataRow* CalSeeingRow::getCalDataUsingCalDataId() {
    2084             :          
    2085           0 :                 return table.getContainer().getCalData().getRowByKey(calDataId);
    2086             :          }
    2087             :          
    2088             : 
    2089             :         
    2090             : 
    2091             :         
    2092             :         
    2093             :         
    2094             :                 
    2095             : 
    2096             :         /**
    2097             :          * Returns the pointer to the row in the CalReduction table having CalReduction.calReductionId == calReductionId
    2098             :          * @return a CalReductionRow*
    2099             :          * 
    2100             :          
    2101             :          */
    2102           0 :          CalReductionRow* CalSeeingRow::getCalReductionUsingCalReductionId() {
    2103             :          
    2104           0 :                 return table.getContainer().getCalReduction().getRowByKey(calReductionId);
    2105             :          }
    2106             :          
    2107             : 
    2108             :         
    2109             : 
    2110             :         
    2111             :         /**
    2112             :          * Create a CalSeeingRow.
    2113             :          * <p>
    2114             :          * This constructor is private because only the
    2115             :          * table can create rows.  All rows know the table
    2116             :          * to which they belong.
    2117             :          * @param table The table to which this row belongs.
    2118             :          */ 
    2119          10 :         CalSeeingRow::CalSeeingRow (CalSeeingTable &t) : table(t) {
    2120          10 :                 hasBeenAdded = false;
    2121             :                 
    2122             :         
    2123             :         
    2124             : 
    2125             :         
    2126             : 
    2127             :         
    2128             : 
    2129             :         
    2130             : 
    2131             :         
    2132             : 
    2133             :         
    2134             : 
    2135             :         
    2136             : 
    2137             :         
    2138             : 
    2139             :         
    2140             : 
    2141             :         
    2142             : 
    2143             :         
    2144          10 :                 exponentExists = false;
    2145             :         
    2146             : 
    2147             :         
    2148          10 :                 outerScaleExists = false;
    2149             :         
    2150             : 
    2151             :         
    2152          10 :                 outerScaleRMSExists = false;
    2153             :         
    2154             : 
    2155             :         
    2156             :         
    2157             : 
    2158             :         
    2159             : 
    2160             :         
    2161             :         
    2162             :         
    2163             :         
    2164             : // This attribute is scalar and has an enumeration type. Let's initialize it to some valid value (the 1st of the enumeration).          
    2165          10 : atmPhaseCorrection = CAtmPhaseCorrection::from_int(0);
    2166             :         
    2167             : 
    2168             :         
    2169             : 
    2170             :         
    2171             : 
    2172             :         
    2173             : 
    2174             :         
    2175             : 
    2176             :         
    2177             : 
    2178             :         
    2179             : 
    2180             :         
    2181             : 
    2182             :         
    2183             : 
    2184             :         
    2185             : 
    2186             :         
    2187             : 
    2188             :         
    2189             : 
    2190             :         
    2191             : 
    2192             :         
    2193             :         
    2194          10 :          fromBinMethods["atmPhaseCorrection"] = &CalSeeingRow::atmPhaseCorrectionFromBin; 
    2195          10 :          fromBinMethods["calDataId"] = &CalSeeingRow::calDataIdFromBin; 
    2196          10 :          fromBinMethods["calReductionId"] = &CalSeeingRow::calReductionIdFromBin; 
    2197          10 :          fromBinMethods["startValidTime"] = &CalSeeingRow::startValidTimeFromBin; 
    2198          10 :          fromBinMethods["endValidTime"] = &CalSeeingRow::endValidTimeFromBin; 
    2199          10 :          fromBinMethods["frequencyRange"] = &CalSeeingRow::frequencyRangeFromBin; 
    2200          10 :          fromBinMethods["integrationTime"] = &CalSeeingRow::integrationTimeFromBin; 
    2201          10 :          fromBinMethods["numBaseLengths"] = &CalSeeingRow::numBaseLengthsFromBin; 
    2202          10 :          fromBinMethods["baselineLengths"] = &CalSeeingRow::baselineLengthsFromBin; 
    2203          10 :          fromBinMethods["phaseRMS"] = &CalSeeingRow::phaseRMSFromBin; 
    2204          10 :          fromBinMethods["seeing"] = &CalSeeingRow::seeingFromBin; 
    2205          10 :          fromBinMethods["seeingError"] = &CalSeeingRow::seeingErrorFromBin; 
    2206             :                 
    2207             :         
    2208          10 :          fromBinMethods["exponent"] = &CalSeeingRow::exponentFromBin; 
    2209          10 :          fromBinMethods["outerScale"] = &CalSeeingRow::outerScaleFromBin; 
    2210          10 :          fromBinMethods["outerScaleRMS"] = &CalSeeingRow::outerScaleRMSFromBin; 
    2211             :         
    2212             :         
    2213             :         
    2214             :         
    2215             :                                  
    2216          10 :         fromTextMethods["atmPhaseCorrection"] = &CalSeeingRow::atmPhaseCorrectionFromText;
    2217             :                  
    2218             :         
    2219             :                                  
    2220          10 :         fromTextMethods["calDataId"] = &CalSeeingRow::calDataIdFromText;
    2221             :                  
    2222             :         
    2223             :                                  
    2224          10 :         fromTextMethods["calReductionId"] = &CalSeeingRow::calReductionIdFromText;
    2225             :                  
    2226             :         
    2227             :                                  
    2228          10 :         fromTextMethods["startValidTime"] = &CalSeeingRow::startValidTimeFromText;
    2229             :                  
    2230             :         
    2231             :                                  
    2232          10 :         fromTextMethods["endValidTime"] = &CalSeeingRow::endValidTimeFromText;
    2233             :                  
    2234             :         
    2235             :                                  
    2236          10 :         fromTextMethods["frequencyRange"] = &CalSeeingRow::frequencyRangeFromText;
    2237             :                  
    2238             :         
    2239             :                                  
    2240          10 :         fromTextMethods["integrationTime"] = &CalSeeingRow::integrationTimeFromText;
    2241             :                  
    2242             :         
    2243             :                                  
    2244          10 :         fromTextMethods["numBaseLengths"] = &CalSeeingRow::numBaseLengthsFromText;
    2245             :                  
    2246             :         
    2247             :                                  
    2248          10 :         fromTextMethods["baselineLengths"] = &CalSeeingRow::baselineLengthsFromText;
    2249             :                  
    2250             :         
    2251             :                                  
    2252          10 :         fromTextMethods["phaseRMS"] = &CalSeeingRow::phaseRMSFromText;
    2253             :                  
    2254             :         
    2255             :                                  
    2256          10 :         fromTextMethods["seeing"] = &CalSeeingRow::seeingFromText;
    2257             :                  
    2258             :         
    2259             :                                  
    2260          10 :         fromTextMethods["seeingError"] = &CalSeeingRow::seeingErrorFromText;
    2261             :                  
    2262             :         
    2263             : 
    2264             :          
    2265             :                                 
    2266          10 :         fromTextMethods["exponent"] = &CalSeeingRow::exponentFromText;
    2267             :                         
    2268             :          
    2269             :                                 
    2270          10 :         fromTextMethods["outerScale"] = &CalSeeingRow::outerScaleFromText;
    2271             :                         
    2272             :          
    2273             :                                 
    2274          10 :         fromTextMethods["outerScaleRMS"] = &CalSeeingRow::outerScaleRMSFromText;
    2275             :                         
    2276             :                 
    2277          10 :         }
    2278             :         
    2279           0 :         CalSeeingRow::CalSeeingRow (CalSeeingTable &t, CalSeeingRow *row) : table(t) {
    2280           0 :                 hasBeenAdded = false;
    2281             :                 
    2282           0 :                 if (row == 0) {
    2283             :         
    2284             :         
    2285             :         
    2286             : 
    2287             :         
    2288             : 
    2289             :         
    2290             : 
    2291             :         
    2292             : 
    2293             :         
    2294             : 
    2295             :         
    2296             : 
    2297             :         
    2298             : 
    2299             :         
    2300             : 
    2301             :         
    2302             : 
    2303             :         
    2304             : 
    2305             :         
    2306           0 :                 exponentExists = false;
    2307             :         
    2308             : 
    2309             :         
    2310           0 :                 outerScaleExists = false;
    2311             :         
    2312             : 
    2313             :         
    2314           0 :                 outerScaleRMSExists = false;
    2315             :         
    2316             : 
    2317             :         
    2318             :         
    2319             : 
    2320             :         
    2321             :                 
    2322             :                 }
    2323             :                 else {
    2324             :         
    2325             :                 
    2326           0 :                         atmPhaseCorrection = row->atmPhaseCorrection;
    2327             :                 
    2328           0 :                         calDataId = row->calDataId;
    2329             :                 
    2330           0 :                         calReductionId = row->calReductionId;
    2331             :                 
    2332             :                 
    2333             :                 
    2334             :                 
    2335           0 :                         startValidTime = row->startValidTime;
    2336             :                 
    2337           0 :                         endValidTime = row->endValidTime;
    2338             :                 
    2339           0 :                         frequencyRange = row->frequencyRange;
    2340             :                 
    2341           0 :                         integrationTime = row->integrationTime;
    2342             :                 
    2343           0 :                         numBaseLengths = row->numBaseLengths;
    2344             :                 
    2345           0 :                         baselineLengths = row->baselineLengths;
    2346             :                 
    2347           0 :                         phaseRMS = row->phaseRMS;
    2348             :                 
    2349           0 :                         seeing = row->seeing;
    2350             :                 
    2351           0 :                         seeingError = row->seeingError;
    2352             :                 
    2353             :                 
    2354             :                 
    2355             :                 
    2356           0 :                 if (row->exponentExists) {
    2357           0 :                         exponent = row->exponent;            
    2358           0 :                         exponentExists = true;
    2359             :                 }
    2360             :                 else
    2361           0 :                         exponentExists = false;
    2362             :                 
    2363           0 :                 if (row->outerScaleExists) {
    2364           0 :                         outerScale = row->outerScale;                
    2365           0 :                         outerScaleExists = true;
    2366             :                 }
    2367             :                 else
    2368           0 :                         outerScaleExists = false;
    2369             :                 
    2370           0 :                 if (row->outerScaleRMSExists) {
    2371           0 :                         outerScaleRMS = row->outerScaleRMS;          
    2372           0 :                         outerScaleRMSExists = true;
    2373             :                 }
    2374             :                 else
    2375           0 :                         outerScaleRMSExists = false;
    2376             :                 
    2377             :                 }
    2378             :                 
    2379           0 :                  fromBinMethods["atmPhaseCorrection"] = &CalSeeingRow::atmPhaseCorrectionFromBin; 
    2380           0 :                  fromBinMethods["calDataId"] = &CalSeeingRow::calDataIdFromBin; 
    2381           0 :                  fromBinMethods["calReductionId"] = &CalSeeingRow::calReductionIdFromBin; 
    2382           0 :                  fromBinMethods["startValidTime"] = &CalSeeingRow::startValidTimeFromBin; 
    2383           0 :                  fromBinMethods["endValidTime"] = &CalSeeingRow::endValidTimeFromBin; 
    2384           0 :                  fromBinMethods["frequencyRange"] = &CalSeeingRow::frequencyRangeFromBin; 
    2385           0 :                  fromBinMethods["integrationTime"] = &CalSeeingRow::integrationTimeFromBin; 
    2386           0 :                  fromBinMethods["numBaseLengths"] = &CalSeeingRow::numBaseLengthsFromBin; 
    2387           0 :                  fromBinMethods["baselineLengths"] = &CalSeeingRow::baselineLengthsFromBin; 
    2388           0 :                  fromBinMethods["phaseRMS"] = &CalSeeingRow::phaseRMSFromBin; 
    2389           0 :                  fromBinMethods["seeing"] = &CalSeeingRow::seeingFromBin; 
    2390           0 :                  fromBinMethods["seeingError"] = &CalSeeingRow::seeingErrorFromBin; 
    2391             :                         
    2392             :         
    2393           0 :                  fromBinMethods["exponent"] = &CalSeeingRow::exponentFromBin; 
    2394           0 :                  fromBinMethods["outerScale"] = &CalSeeingRow::outerScaleFromBin; 
    2395           0 :                  fromBinMethods["outerScaleRMS"] = &CalSeeingRow::outerScaleRMSFromBin; 
    2396             :                         
    2397           0 :         }
    2398             : 
    2399             :         
    2400           0 :         bool CalSeeingRow::compareNoAutoInc(AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection, Tag calDataId, Tag calReductionId, ArrayTime startValidTime, ArrayTime endValidTime, std::vector<Frequency > frequencyRange, Interval integrationTime, int numBaseLengths, std::vector<Length > baselineLengths, std::vector<Angle > phaseRMS, Angle seeing, Angle seeingError) {
    2401             :                 bool result;
    2402           0 :                 result = true;
    2403             :                 
    2404             :         
    2405             :                 
    2406           0 :                 result = result && (this->atmPhaseCorrection == atmPhaseCorrection);
    2407             :                 
    2408           0 :                 if (!result) return false;
    2409             :         
    2410             : 
    2411             :         
    2412             :                 
    2413           0 :                 result = result && (this->calDataId == calDataId);
    2414             :                 
    2415           0 :                 if (!result) return false;
    2416             :         
    2417             : 
    2418             :         
    2419             :                 
    2420           0 :                 result = result && (this->calReductionId == calReductionId);
    2421             :                 
    2422           0 :                 if (!result) return false;
    2423             :         
    2424             : 
    2425             :         
    2426             :                 
    2427           0 :                 result = result && (this->startValidTime == startValidTime);
    2428             :                 
    2429           0 :                 if (!result) return false;
    2430             :         
    2431             : 
    2432             :         
    2433             :                 
    2434           0 :                 result = result && (this->endValidTime == endValidTime);
    2435             :                 
    2436           0 :                 if (!result) return false;
    2437             :         
    2438             : 
    2439             :         
    2440             :                 
    2441           0 :                 result = result && (this->frequencyRange == frequencyRange);
    2442             :                 
    2443           0 :                 if (!result) return false;
    2444             :         
    2445             : 
    2446             :         
    2447             :                 
    2448           0 :                 result = result && (this->integrationTime == integrationTime);
    2449             :                 
    2450           0 :                 if (!result) return false;
    2451             :         
    2452             : 
    2453             :         
    2454             :                 
    2455           0 :                 result = result && (this->numBaseLengths == numBaseLengths);
    2456             :                 
    2457           0 :                 if (!result) return false;
    2458             :         
    2459             : 
    2460             :         
    2461             :                 
    2462           0 :                 result = result && (this->baselineLengths == baselineLengths);
    2463             :                 
    2464           0 :                 if (!result) return false;
    2465             :         
    2466             : 
    2467             :         
    2468             :                 
    2469           0 :                 result = result && (this->phaseRMS == phaseRMS);
    2470             :                 
    2471           0 :                 if (!result) return false;
    2472             :         
    2473             : 
    2474             :         
    2475             :                 
    2476           0 :                 result = result && (this->seeing == seeing);
    2477             :                 
    2478           0 :                 if (!result) return false;
    2479             :         
    2480             : 
    2481             :         
    2482             :                 
    2483           0 :                 result = result && (this->seeingError == seeingError);
    2484             :                 
    2485           0 :                 if (!result) return false;
    2486             :         
    2487             : 
    2488           0 :                 return result;
    2489             :         }       
    2490             :         
    2491             :         
    2492             :         
    2493           0 :         bool CalSeeingRow::compareRequiredValue(ArrayTime startValidTime, ArrayTime endValidTime, std::vector<Frequency > frequencyRange, Interval integrationTime, int numBaseLengths, std::vector<Length > baselineLengths, std::vector<Angle > phaseRMS, Angle seeing, Angle seeingError) {
    2494             :                 bool result;
    2495           0 :                 result = true;
    2496             :                 
    2497             :         
    2498           0 :                 if (!(this->startValidTime == startValidTime)) return false;
    2499             :         
    2500             : 
    2501             :         
    2502           0 :                 if (!(this->endValidTime == endValidTime)) return false;
    2503             :         
    2504             : 
    2505             :         
    2506           0 :                 if (!(this->frequencyRange == frequencyRange)) return false;
    2507             :         
    2508             : 
    2509             :         
    2510           0 :                 if (!(this->integrationTime == integrationTime)) return false;
    2511             :         
    2512             : 
    2513             :         
    2514           0 :                 if (!(this->numBaseLengths == numBaseLengths)) return false;
    2515             :         
    2516             : 
    2517             :         
    2518           0 :                 if (!(this->baselineLengths == baselineLengths)) return false;
    2519             :         
    2520             : 
    2521             :         
    2522           0 :                 if (!(this->phaseRMS == phaseRMS)) return false;
    2523             :         
    2524             : 
    2525             :         
    2526           0 :                 if (!(this->seeing == seeing)) return false;
    2527             :         
    2528             : 
    2529             :         
    2530           0 :                 if (!(this->seeingError == seeingError)) return false;
    2531             :         
    2532             : 
    2533           0 :                 return result;
    2534             :         }
    2535             :         
    2536             :         
    2537             :         /**
    2538             :          * Return true if all required attributes of the value part are equal to their homologues
    2539             :          * in x and false otherwise.
    2540             :          *
    2541             : 
    2542             :          * @param x a pointer on the CalSeeingRow whose required attributes of the value part 
    2543             : 
    2544             :          * will be compared with those of this.
    2545             :          * @return a boolean.
    2546             :          */
    2547           0 :         bool CalSeeingRow::equalByRequiredValue(CalSeeingRow*  x ) {
    2548             :                 
    2549             :                         
    2550           0 :                 if (this->startValidTime != x->startValidTime) return false;
    2551             :                         
    2552           0 :                 if (this->endValidTime != x->endValidTime) return false;
    2553             :                         
    2554           0 :                 if (this->frequencyRange != x->frequencyRange) return false;
    2555             :                         
    2556           0 :                 if (this->integrationTime != x->integrationTime) return false;
    2557             :                         
    2558           0 :                 if (this->numBaseLengths != x->numBaseLengths) return false;
    2559             :                         
    2560           0 :                 if (this->baselineLengths != x->baselineLengths) return false;
    2561             :                         
    2562           0 :                 if (this->phaseRMS != x->phaseRMS) return false;
    2563             :                         
    2564           0 :                 if (this->seeing != x->seeing) return false;
    2565             :                         
    2566           0 :                 if (this->seeingError != x->seeingError) return false;
    2567             :                         
    2568             :                 
    2569           0 :                 return true;
    2570             :         }       
    2571             :         
    2572             : /*
    2573             :          map<string, CalSeeingAttributeFromBin> CalSeeingRow::initFromBinMethods() {
    2574             :                 map<string, CalSeeingAttributeFromBin> result;
    2575             :                 
    2576             :                 result["atmPhaseCorrection"] = &CalSeeingRow::atmPhaseCorrectionFromBin;
    2577             :                 result["calDataId"] = &CalSeeingRow::calDataIdFromBin;
    2578             :                 result["calReductionId"] = &CalSeeingRow::calReductionIdFromBin;
    2579             :                 result["startValidTime"] = &CalSeeingRow::startValidTimeFromBin;
    2580             :                 result["endValidTime"] = &CalSeeingRow::endValidTimeFromBin;
    2581             :                 result["frequencyRange"] = &CalSeeingRow::frequencyRangeFromBin;
    2582             :                 result["integrationTime"] = &CalSeeingRow::integrationTimeFromBin;
    2583             :                 result["numBaseLengths"] = &CalSeeingRow::numBaseLengthsFromBin;
    2584             :                 result["baselineLengths"] = &CalSeeingRow::baselineLengthsFromBin;
    2585             :                 result["phaseRMS"] = &CalSeeingRow::phaseRMSFromBin;
    2586             :                 result["seeing"] = &CalSeeingRow::seeingFromBin;
    2587             :                 result["seeingError"] = &CalSeeingRow::seeingErrorFromBin;
    2588             :                 
    2589             :                 
    2590             :                 result["exponent"] = &CalSeeingRow::exponentFromBin;
    2591             :                 result["outerScale"] = &CalSeeingRow::outerScaleFromBin;
    2592             :                 result["outerScaleRMS"] = &CalSeeingRow::outerScaleRMSFromBin;
    2593             :                         
    2594             :                 
    2595             :                 return result;  
    2596             :         }
    2597             : */      
    2598             : } // End namespace asdm
    2599             :  

Generated by: LCOV version 1.16