casa  $Rev:20696$
asdmCasaSaxHandler.h
Go to the documentation of this file.
00001 #ifndef asdmCASASAXHANDLER_H
00002 #define asdmCASASAXHANDLER _H
00003 /*
00004  *
00005  * Spawn from CasaSaxHandler to parse ASDM XML tables
00006  * Paulo Cortes
00007  *
00008  */
00009 
00010 #include <xercesc/sax2/DefaultHandler.hpp>
00011 #include <casa/BasicSL/String.h>
00012 #include <casa/Utilities/DataType.h>
00013 #include <vector>
00015 #include <tables/Tables/TableDesc.h>
00016 #include <tables/Tables/Table.h>
00017 #include <tables/Tables/ScalarColumn.h>
00018 #include <tables/Tables/ArrayColumn.h>
00019 #include <casa/Arrays/Array.h>
00020 
00021 
00022 
00023 using namespace xercesc;
00024 using namespace std;
00025 
00026 namespace casa {
00027 
00028 class Table;
00029 
00030 class asdmCasaSaxHandler : public DefaultHandler {
00031         public :
00032                 asdmCasaSaxHandler(Table &, const String &tabName);
00033                 void characters (const XMLCh * const chars,
00034                                  const unsigned int length);
00035                 void startElement (const XMLCh * const uri,
00036                                    const XMLCh * const localname,
00037                                    const XMLCh * const qname,
00038                                    const Attributes & attr);
00039                 void endElement (const XMLCh * const uri,
00040                                  const XMLCh * const localname,
00041                                  const XMLCh * const qname);
00042                 void fatalError(const SAXParseException&);
00043                 void setDescriptor (const String tabName);
00044                 int countIt(char *str);
00045                 Array<String> sSplit(char *str);
00046                 Array<Double> sSplit_d(char *str);
00047                 Array<Int>    sSplit_i(char *str);
00048 
00049                 void    assignColumn(char *str, Array<Double> &doubleColumn);
00050                 void    assignColumn(char *str, Array<Int> &intColumn);
00051                 void    assignColumn(char *str, Array<String> &stringColumn);
00052                 void    assignColumn(char *str, Array<Bool> &stringColumn);
00053                 void    assignColumn(char *str, Array<Complex> &stringColumn);
00054 
00055         private :
00056                 Bool flagIn;
00057                 Bool isRow;
00058                 Bool itsEntityRef;
00059                 Int  nRow;
00060                 Int nElements;
00061                 String itsElement;
00062                 String currentElement;
00063                 String valueName;
00064                 String tName;
00065                 String xmlTableName;
00066                 //TableDesc itsTableDesc;
00067                 Table &itsTable;
00068                 std::string  itsTag;
00069                 std::string  tagList;
00070                 const Int nMaxBuffer;
00071                 
00072 
00073                 //
00074                 //Scalar and Array objects are declared here
00075                 //There is a finite number of datatypes used at each table
00076                 //However, I cannot have repeated names attached to each 
00077                 //column, if I have to Int xml tags I have to assign unique
00078                 //names to the Table columns, i.e. 
00079                 //
00080                 //        IntScalarColumn attach(itsTable,"xmlTag1")
00081                 //        IntScalarColumn attach(itsTable,"xmlTag2")
00082                 //
00083                 //this will compile, but produce a segmentation fault signal
00084                 //For the sake of readability, at considering that (most likely)
00085                 //I won't maintain this code, I decided to use the tag names 
00086                 //for each column. This is inneficient, but will allow the next
00087                 //developer to better understand what I did, and to add, or modify,
00088                 // new tables more easily
00089 
00090 
00091 
00092                 //
00093                 //Scan table definition
00094                 //
00095                 ScalarColumn<String> execBlockId;
00096                 ScalarColumn<Int>    scanNumber;
00097                 ScalarColumn<String> startTime;
00098                 ScalarColumn<String> endTime;
00099                 ScalarColumn<Int>    numSubScan;
00100                 ScalarColumn<Int>    numIntent;
00101                 ArrayColumn<String>  scanIntent;
00102                 ScalarColumn<Bool>   flagRow;
00103                 ScalarColumn<Int>    numField;
00104                 ScalarColumn<String> sourceName;
00105                 ArrayColumn<String>  fieldName;
00106 
00107                 //Main table
00108 
00109                 ScalarColumn<String> configDescriptionId;
00110                 ScalarColumn<String> fieldId;
00111                 ScalarColumn<String> time;
00112                 ArrayColumn<String>  stateId;
00113                 ScalarColumn<Int>    subscanNumber;
00114                 ScalarColumn<Int>    integrationNumber;
00115                 ArrayColumn<Double>  uvw;
00116                 ArrayColumn<String>  exposure;
00117                 ArrayColumn<String>  timeCentroid;
00118                 ScalarColumn<String>  dataOid;
00119                 ArrayColumn<Int>     flagAnt;
00120                 ArrayColumn<Int>     flagPol;
00121                 ArrayColumn<Int>     flagBaseband;
00122                 ScalarColumn<String> interval;
00123                 ScalarColumn<Int>    subintegrationNumber;
00124                
00125                 //AlmaCorrelatorModeId Table
00126 
00127                 ScalarColumn<String> almaCorrelatorModeId;
00128                 ScalarColumn<Int>    numBaseband;
00129                 ArrayColumn<Int>     basebandIndex;
00130                 ScalarColumn<String> accumMode;
00131                 ArrayColumn<Int>     basebandConfig;
00132                 ScalarColumn<Int>    binMode;
00133                 ScalarColumn<Bool>   quantization;
00134                 ScalarColumn<String> windowFunction;
00135                 ArrayColumn<Int>     axesOrderArray;
00136 
00137                 //Antenna Table
00138 
00139                 ScalarColumn<String> antennaId;
00140                 ScalarColumn<String> stationId;
00141                 ScalarColumn<String> name;
00142                 ScalarColumn<String> type;
00143                 ScalarColumn<Double> xPosition;
00144                 ScalarColumn<Double> yPosition;
00145                 ScalarColumn<Double> zPosition;
00146                 ScalarColumn<Double> xOffset;
00147                 ScalarColumn<Double> yOffset;
00148                 ScalarColumn<Double> zOffset;
00149                 ScalarColumn<Double> dishDiameter;
00150                 ScalarColumn<String> assocAntennaId;
00151 
00152                 //ConfigDescription Table
00153                 //The AUX suffix in antennaIdAUX stands for
00154                 //auxiliary
00155                 
00156                 ArrayColumn <String>  dataDescriptionId;
00157                 ArrayColumn <String>  antennaIdAUX;
00158                 ArrayColumn <Int>     feedId;
00159                 ScalarColumn<String>  processorId;
00160                 ArrayColumn <String>  switchCycleId;
00161                 ScalarColumn<Int>     numAntenna;
00162                 ScalarColumn<Int>     numFeed;
00163                 ArrayColumn <Int>     numSubBand;
00164                 ScalarColumn<Int>     correlationMode;
00165                 ScalarColumn<Int>     atmPhaseCode;
00166                 ArrayColumn <Int>     phasedArrayList;
00167                 ArrayColumn <Bool>    flagAntAUX;
00168                 
00169                 //DataDescription Table
00170 
00171                 ScalarColumn<String>  dataDescriptionIdDDT;
00172                 ScalarColumn<String>  polOrHoloId;
00173                 ScalarColumn<String>  spectralWindowId;
00174 
00175                 //ExecBlock Table
00176 
00177                 ScalarColumn<String> telescopeName;
00178                 ScalarColumn<String> configName;
00179                 ScalarColumn<Double> baseRangeMin;
00180                 ScalarColumn<Double> baseRangeMax;
00181                 ScalarColumn<Double> baseRangeMinor;
00182                 ScalarColumn<Double> baseRangeMajor;
00183                 ScalarColumn<Double> basePa;
00184                 ScalarColumn<String> timeInterval;
00185                 ScalarColumn<String> observerName;
00186                 ArrayColumn<String>  observingLog;
00187                 ArrayColumn<String>  schedulerMode;
00188                 ScalarColumn<String> projectId;
00189                 ScalarColumn<Double> siteLongitude;
00190                 ScalarColumn<Double> siteLatitude;
00191                 ScalarColumn<Double> siteAltitude;
00192                 ScalarColumn<String> execBlockUID;
00193                 ScalarColumn<Bool>   aborted;
00194 
00195                 //Feed Table
00196 
00197                 ScalarColumn<Int>    feedIdFT;
00198                 ArrayColumn<Int>     receiverId;
00199                 ScalarColumn<Int>    numReceptors;
00200                 ArrayColumn<Double>  beamOffset;
00201                 ArrayColumn<Double>  focusReference;
00202                 ArrayColumn<String>  polarizationType;
00203                 ArrayColumn<Complex> polResponse;
00204                 ArrayColumn<Double>  receptorAngle;
00205                 ArrayColumn<String>  beamId;
00206                 ScalarColumn<Int>    feedNum;
00207                 ScalarColumn<Float>  illumOffset;
00208                 ScalarColumn<Float>  illumOffsetPa;
00209 
00210                 //Field Table
00211 
00212                 ScalarColumn<String> fieldNameAUX;
00213                 ScalarColumn<String> code;
00214                 ScalarColumn<Int>    numPoly;
00215                 ArrayColumn<Double>  delayDir;
00216                 ArrayColumn<Double>  phaseDir;
00217                 ArrayColumn<Double>  referenceDir;
00218                 ArrayColumn<String>  assocFieldId;
00219                 ScalarColumn<String> ephemerisId;
00220                 ScalarColumn<Int>    sourceId;
00221                 ScalarColumn<String> assocNature;
00222 
00223                 //Polarization Table
00224 
00225                 ScalarColumn<String> polarizationId;
00226                 ScalarColumn<Int>    numCorr;
00227                 ArrayColumn<Int>     corrType;
00228                 ArrayColumn<Int>     corrProduct;
00229 
00230                 //Processor Table
00231 
00232                 ScalarColumn<String> subType;
00233 
00234                 //Reciever Table
00235 
00236                 ScalarColumn<Int>    receiverIdAUX;
00237                 ScalarColumn<Int>    numLo;
00238                 ScalarColumn<String> frequencyBand;
00239                 ArrayColumn<Double>  freqLo;
00240                 ScalarColumn<Double> stability;
00241                 ArrayColumn<Int>     sidebandLo;
00242                 ScalarColumn<Double> tDewar;
00243                 ScalarColumn<String> stabilityDuration;
00244                 ScalarColumn<String> dewarName;
00245                 ScalarColumn<Bool>   stabilityflag;
00246 
00247                 //SBSummary Table
00248 
00249                 ScalarColumn<String> sbId;
00250                 ScalarColumn<String> obsUnitSetId;
00251                 ScalarColumn<String> sbIntent;
00252                 ScalarColumn<String> sbType;
00253                 ScalarColumn<String> sbDuration;
00254                 ScalarColumn<Int>    numScan;
00255                 ScalarColumn<Int>    numberRepeats;
00256                 ArrayColumn<String>  weatherConstraint;
00257                 ArrayColumn<String>  scienceGoal;
00258                 ScalarColumn<Double> raCenter;
00259                 ScalarColumn<Double> decCenter;
00260                 ScalarColumn<Double> frequency;
00261                 ArrayColumn<String>  observingMode;
00262 
00263                 //Source Table
00264 
00265                 ScalarColumn<Int>    numLines;
00266                 ArrayColumn<Double>  direction;
00267                 ArrayColumn<Double>  properMotion;
00268                 ScalarColumn<Int>    sourceParameterId;
00269                 ScalarColumn<String> catalog;
00270                 ScalarColumn<Int>    calibrationGroup;
00271                 ArrayColumn<Double>  position;
00272                 ArrayColumn<String>  transition;
00273                 ArrayColumn<Double>  restFrequency;
00274                 ArrayColumn<Double>  sysVel;
00275                 ScalarColumn<String> sourceModel;
00276                 ScalarColumn<Double> deltaVel;
00277                 ArrayColumn<Double>  rangeVel;
00278 
00279                 //SpectralWindow Table
00280 
00281                 ScalarColumn<Int>    numChan;
00282                 ScalarColumn<Double> refFreq;
00283                 ArrayColumn<Double>  chanFreq;
00284                 ArrayColumn<Double>  chanWidth;
00285                 ArrayColumn<Double>  effectiveBw;
00286                 ArrayColumn<Double>  resolution;
00287                 ScalarColumn<Double> totBandwidth;
00288                 ScalarColumn<Int>    netSideband;
00289                 ArrayColumn<String>  assocSpectralWindowId;
00290                 ScalarColumn<Int>    dopplerId;
00291                 ScalarColumn<Int>    measFreqRef;
00292                 ScalarColumn<Int>    bbcNo;
00293                 ScalarColumn<Int>    bbcSideband;
00294                 ScalarColumn<Int>    ifConvChain;
00295                 ScalarColumn<Int>    freqGroup;
00296                 ScalarColumn<String> freqGroupName;
00297                 ArrayColumn<String>  assocNatureAUX;
00298 
00299                 //State Table
00300 
00301                 ScalarColumn<String> stateIdAUX;
00302                 ScalarColumn<Bool>   sig;
00303                 ScalarColumn<Bool>   ref;
00304                 ScalarColumn<Int>    calloadNum;
00305                 ScalarColumn<String> obsMode;
00306                 ScalarColumn<String> obsIntent;
00307                 ScalarColumn<Float>  weight;
00308 
00309                 //Subscan Table
00310 
00311                 ScalarColumn<String> subscanIntent;
00312                 ScalarColumn<Int>    numberIntegration;
00313                 ArrayColumn<Int>     numberSubintegration;
00314                 ScalarColumn<String> subscanMode;
00315 
00316                 //SwitchCycle Table
00317 
00318                 ScalarColumn<String> switchCycleIdAUX;
00319                 ScalarColumn<Int>    numStep;
00320                 ArrayColumn<Double>   weightArray;
00321                 ArrayColumn<Double>  offsetArray;
00322                 ArrayColumn<Double>  freqOffsetArray;
00323 
00324                 //CalCurve Table
00325 
00326                 ScalarColumn<String> calDataId;
00327                 ScalarColumn<String> calReductionId;
00328                 ScalarColumn<String> antennaName;
00329                 ScalarColumn<String> startValidTime;
00330                 ScalarColumn<String> endValidTime;
00331                 ScalarColumn<String> typeCurve;
00332                 ArrayColumn<Double>  curve;
00333                 ArrayColumn<Double>  frequencyRange;
00334                 ScalarColumn<String> refAntennaName;
00335                 ScalarColumn<String> receiverBand;
00336                 ScalarColumn<String> timeOrigin;
00337 
00338 
00339                 //CalData Table
00340 
00341                 ArrayColumn<Int>     scanSet;
00342                 ScalarColumn<String> calType;
00343                 ScalarColumn<String> startTimeObserved;
00344                 ScalarColumn<String> endTimeObserved;
00345                 ScalarColumn<String> calDataType;
00346                 ScalarColumn<Int>    frequencyGroup;
00347                 ArrayColumn<String>  fieldCode;
00348                 ArrayColumn<String>  sourceNameAUX;
00349                 ArrayColumn<String>  sourceCode;
00350                 ScalarColumn<String> assocCalDataId;
00351                 ScalarColumn<String> assocCalNature;
00352 
00353                 //CalPhase Table
00354 
00355                 ScalarColumn<String> basebandName;
00356                 ScalarColumn<Int>    numBaseline;
00357                 ArrayColumn<String>  antennaNames;
00358                 ArrayColumn<Double>  decorrelationFactor;
00359                 ArrayColumn<Double>  uncorrPhaseRms;
00360                 ArrayColumn<Double>  corrPhaseRms;
00361                 ArrayColumn<Double>  statPhaseRms;
00362                 ArrayColumn<Bool>    corrValidity;
00363 
00364                 //CalReduction Table
00365 
00366                 ScalarColumn<Int>    numApplied;
00367                 ScalarColumn<Int>    numParam;
00368                 ScalarColumn<String> timeReduced;
00369                 ArrayColumn<String>  calAppliedArray;
00370                 ArrayColumn<String>  paramSet;
00371                 ScalarColumn<String> messages;
00372                 ScalarColumn<String> software;
00373                 ScalarColumn<String> softwareVersion;
00374                 ScalarColumn<String> invalidConditions;
00375 
00376                 //CalSeeingTable
00377 
00378                 ScalarColumn<Int>    numBaseLength;
00379                 ArrayColumn<Double>  baseLength;
00380                 ScalarColumn<Double> seeing;
00381                 ScalarColumn<Double> seeingFrequency;
00382                 ScalarColumn<Double> seeingFreqBandwidth;
00383                 ScalarColumn<Double> exponent;
00384 
00385                 //CalAtmosphere Table
00386 
00387                 ScalarColumn<Int>    numFreq;
00388                 ArrayColumn<Double>  frequencySpectrum;
00389                 ScalarColumn<String> syscalType;
00390                 ArrayColumn<Double>  tSysSpectrum;
00391                 ArrayColumn<Double>  tRecSpectrum;
00392                 ArrayColumn<Double>  tAtmSpectrum;
00393                 ArrayColumn<Double>  tauSpectrum;
00394                 ArrayColumn<Double>  sbGainSpectrum;
00395                 ArrayColumn<Double>  forwardEffSpectrum;
00396                 ScalarColumn<Double> groundPressure;
00397                 ScalarColumn<Double> groundTemperature;
00398                 ScalarColumn<Double> groundRelHumidity;
00399                 ArrayColumn<Double>  tSys;
00400                 ArrayColumn<Double>  tRec;
00401                 ArrayColumn<Double>  tAtm;
00402                 ArrayColumn<Double>  sbGain;
00403                 ArrayColumn<Double>  water;
00404                 ArrayColumn<Double>  forwardEfficiency;
00405                 ArrayColumn<Double>  tau;
00406 
00407                 //CalAmpli Table
00408 
00409                 ArrayColumn<Double>  apertureEfficiencyError;
00410                 ArrayColumn<Double>  uncorrectedApertureEfficiency;
00411                 ArrayColumn<Double>  correctedApertureEfficiency;
00412                 ArrayColumn<Bool>    correctionValidity;
00413 
00414                 //CalBandpass Table
00415 
00416                 ArrayColumn<Double>  freqLimits;
00417                 ScalarColumn<Int>    numPhasePoly;
00418                 ScalarColumn<Int>    numAmpliPoly;
00419                 ArrayColumn<Double>  phaseCurve;
00420                 ArrayColumn<Double>  ampliCurve;
00421         
00422                 //AlmaRadiometer Table
00423 
00424                 ScalarColumn<String> modeId;
00425                 ScalarColumn<Int>    numBand;
00426 
00427                 //CalDelay Table
00428 
00429                 ArrayColumn<Double>  delayOffset;
00430                 ArrayColumn<Double>  delayError;
00431                 ScalarColumn<Double> crossDelayOffset;
00432                 ScalarColumn<Double> crossDelayOffsetError;
00433 
00434                 //CalDevice Table
00435 
00436                 ScalarColumn<Int>    numCalload;
00437                 ArrayColumn<Double>  noiseCal;
00438                 ArrayColumn<Double>  temperatureLoad;
00439                 ArrayColumn<Double>  calEff;
00440 
00441                 //CalFlux Table
00442 
00443                 ScalarColumn<Int>    numStokes;
00444                 ArrayColumn<Int>     Stokes;
00445                 ArrayColumn<Double>  frequencyAUX;
00446                 ArrayColumn<Double>  frequencyWidth;
00447                 ArrayColumn<Double>  flux;
00448                 ArrayColumn<Double>  fluxError;
00449                 ScalarColumn<String> fluxMethod;
00450                 ArrayColumn<Double>  size;
00451                 ArrayColumn<Double>  sizeError;
00452                 ArrayColumn<Double>  PA;
00453                 ArrayColumn<Double>  PAError;
00454 
00455 
00456                 //CalFocus Table
00457 
00458                 ArrayColumn<Double>  offset;
00459                 ArrayColumn<Double>  error;
00460                 ScalarColumn<String> method;
00461                 ArrayColumn<Double>  pointingDirection;
00462                 ArrayColumn<Bool>    wasFixed;
00463 
00464 
00465                 //CalFocusModel Table
00466 
00467                 ScalarColumn<Int>    numCoeff;
00468                 ArrayColumn<Double>  focusRMS;
00469                 ArrayColumn<String>  coeffName;
00470                 ArrayColumn<String>  coeffFormula;
00471                 ArrayColumn<Double>  coeffValue;
00472                 ArrayColumn<Double>  coeffError;
00473                 ArrayColumn<Bool>    coeffFixed;
00474                 ScalarColumn<String> focusModel;
00475                 ScalarColumn<Int>    numSourceObs;
00476 
00477 
00478                 //CalGain Table
00479 
00480                 ArrayColumn<Double>  gain;
00481                 ArrayColumn<Bool>    gainValid;
00482                 ArrayColumn<Double>  fit;
00483                 ArrayColumn<Double>  fitWeight;
00484                 ScalarColumn<Bool>   totalGainValid;
00485                 ScalarColumn<Double> totalFit;
00486                 ScalarColumn<Double> totalFitWeight;
00487 
00488                 //CalHolography Table
00489  
00490                 ScalarColumn<Int>    numScrew;
00491                 ArrayColumn<Double>  focusPosition;
00492                 ScalarColumn<Double> rawRms;
00493                 ScalarColumn<Double> weightedRms;
00494                 ArrayColumn<String>  screwName;
00495                 ArrayColumn<Double>  screwMotion;
00496                 ArrayColumn<Double>  screwMotionError;
00497                 ScalarColumn<Int>    panelModes;
00498                 ScalarColumn<String> beamMapUID;
00499                 ScalarColumn<String> surfaceMapUID;
00500 
00501 
00502                 //CalPointing Table
00503 
00504                 ArrayColumn<Double>  collOffset;
00505                 ArrayColumn<Double>  collError;
00506                 ScalarColumn<String> pointingMethod;
00507                 ScalarColumn<String> mode;
00508                 ArrayColumn<Double>  beamWidth;
00509                 ArrayColumn<Double>  beamWidthError;
00510                 ScalarColumn<Double> beamPA;
00511                 ScalarColumn<Double> beamPAError;
00512                 ScalarColumn<Double> peakIntensity;
00513                 ScalarColumn<Double> peakIntensityError;
00514 
00515                 //CalPointingModel Table
00516 
00517 
00518                 ScalarColumn<Int>    numObs;
00519                 ScalarColumn<Int>    numFormula;
00520                 ScalarColumn<Double> azimuthRms;
00521                 ScalarColumn<Double> elevationRms;
00522                 ScalarColumn<Double> skyRms;
00523                 ArrayColumn<Double>  coeffVal;
00524                 ScalarColumn<String> pointingModel;
00525 
00526                 //CalPosition Table
00527 
00528                 ArrayColumn<Double>  positionOffset;
00529                 ArrayColumn<Double>  positionErr;
00530                 ScalarColumn<String> delayRms;
00531                 ScalarColumn<Double> phaseRms;
00532                 ScalarColumn<Double> axesOffset;
00533                 ScalarColumn<Bool>   axesOffsetFixed;
00534                 ScalarColumn<Double> axesOffsetErr;
00535                 ScalarColumn<String> positionMethod;
00536                 ArrayColumn<String>  refAntennaNames;
00537 
00538                 //CalPrimaryBeam Table
00539 
00540                 ScalarColumn<Int>    numPixelX;
00541                 ScalarColumn<Int>    numPixelY;
00542                 ScalarColumn<Double> refX;
00543                 ScalarColumn<Double> refY;
00544                 ScalarColumn<Double> valX;
00545                 ScalarColumn<Double> valY;
00546                 ScalarColumn<Double> incX;
00547                 ScalarColumn<Double> incY;
00548                 ArrayColumn<Double>  amplitude;
00549                 ArrayColumn<Double>  phase;
00550 
00551                 //CalWVR Table
00552        
00553                 ScalarColumn<String> WVRMethod;
00554                 ArrayColumn<Double>  pathCoeff;
00555 
00556                 //Doppler Table
00557 
00558                 ScalarColumn<Int>    transitionIndex;
00559                 ScalarColumn<Double> velDef;
00560                 
00561                 //Observation Table
00562 
00563                 ScalarColumn<String> observationId;
00564 
00565                 //FlagCmd Table
00566 
00567                 ScalarColumn<String> reason;
00568                 ScalarColumn<Int>    level;
00569                 ScalarColumn<Int>    severity;
00570                 ScalarColumn<Bool>   applied;
00571                 ScalarColumn<String> command;
00572 
00573                 //Focus Table
00574 
00575                 ScalarColumn<String> focusModelId;
00576                 ScalarColumn<Double> xFocusPosition;
00577                 ScalarColumn<Double> yFocusPosition;
00578                 ScalarColumn<Double> zFocusPosition;
00579                 ScalarColumn<Double> focusTracking;
00580                 ScalarColumn<Double> xFocusOffset;
00581                 ScalarColumn<Double> yFocusOffset;
00582                 ScalarColumn<Double> zFocusOffset;
00583 
00584                 //GainTracking Table
00585 
00586                 ScalarColumn<Double> attenuator;
00587                 ScalarColumn<String> delayoff1;
00588                 ScalarColumn<String> delayoff2;
00589                 ScalarColumn<Double> phaseoff1;
00590                 ScalarColumn<Double> phaseoff2;
00591                 ScalarColumn<Double> rateoff1;
00592                 ScalarColumn<Double> rateoff2;
00593                 ScalarColumn<Double> samplingLevel;
00594                 ScalarColumn<Double> phaseRefOffset;
00595 
00596                 //History Table
00597 
00598                 ScalarColumn<String> message;
00599                 ScalarColumn<String> priority;
00600                 ScalarColumn<String> origin;
00601                 ScalarColumn<String> objectId;
00602                 ScalarColumn<String> application;
00603                 ScalarColumn<String> cliCommand;
00604                 ScalarColumn<String> appParms;
00605 
00606                 //Holography Table
00607 
00608                 ScalarColumn<String> holographyId;
00609                 ScalarColumn<Double> distance;
00610                 ScalarColumn<Double> focus;
00611 
00612                 //Pointing Table
00613 
00614                 ScalarColumn<Int>    pointingModelId;
00615                 ArrayColumn<Double>  target;
00616                 ArrayColumn<Double>  encoder;
00617                 ScalarColumn<Bool>   pointingTracking;
00618                 ArrayColumn<Double>  sourceOffset;
00619                 ScalarColumn<Bool>   phaseTracking;
00620                 ScalarColumn<Bool>   overTheTop;
00621 
00622 
00623                 //Pointing Table
00624 
00625                 ArrayColumn<Int>     phaseRmsAUX;
00626 
00627                 //SourceParameter Table
00628 
00629                 ScalarColumn<Int>    numDep;
00630                 ArrayColumn<Int>     stokeParameter;
00631                 ArrayColumn<Double>  frequencyInterval;
00632                 ArrayColumn<Double>  fluxErr;
00633                 ArrayColumn<Double>  positionAngle;
00634                 ArrayColumn<Double>  sizeErr;
00635                 ArrayColumn<Double>  positionAngleErr;
00636                 ArrayColumn<Int>     depSourceParameterId;
00637 
00638 
00639                 //SquareLawDetector Table
00640 
00641                 ScalarColumn<String> squareLawDetectorId;
00642                 ScalarColumn<String> bandType;
00643 
00644                 //SysCal Table
00645                 ScalarColumn<Int>    numLoad;
00646                 ArrayColumn<Int>     calLoad;
00647                 ArrayColumn<Double>  feff;
00648                 ArrayColumn<Double>  aeff;
00649                 ScalarColumn<Double> phaseDiff;
00650                 ScalarColumn<Double> sbgain;
00651                 ArrayColumn<Double>  tcal;
00652                 ArrayColumn<Double>  trx;
00653                 ArrayColumn<Double>  tsys;
00654                 ArrayColumn<Double>  tsky;
00655                 ArrayColumn<Double>  tant;
00656                 ArrayColumn<Double>  tantTsys;
00657                 ArrayColumn<Double>  pwvPath;
00658                 ArrayColumn<Double>  dpwvPath;
00659                 ArrayColumn<Double>  feffSpectrum;
00660                 ArrayColumn<Double>  tcalSpectrum;
00661                 ArrayColumn<Double>  sbgainSpectrum;
00662                 ArrayColumn<Double>  trxSpectrum;
00663                 ArrayColumn<Double>  tskySpectrum;
00664                 ArrayColumn<Double>  tsysSpectrum;
00665                 ArrayColumn<Double>  tantSpectrum;
00666                 ArrayColumn<Double>  tantTsysSpectrum;
00667                 ArrayColumn<Double>  pwvPathSpectrum;
00668                 ArrayColumn<Double>  dpwvPathSpectrum;
00669                 ScalarColumn<Int>    numPolyFreq;
00670                 ScalarColumn<Double> freqOrigin;
00671                 ArrayColumn<Double>  delayCurve;
00672                 ArrayColumn<Double>  bandpassCurve;
00673                 ScalarColumn<Bool>   phasediffFlag;
00674                 ScalarColumn<Bool>   sbgainFlag;
00675                 ScalarColumn<Bool>   tauFlag;
00676                 ScalarColumn<Bool>   tcalFlag;
00677                 ScalarColumn<Bool>   trxFlag;
00678                 ScalarColumn<Bool>   tskyFlag;
00679                 ScalarColumn<Bool>   tsysFlag;
00680                 ScalarColumn<Bool>   tantFlag;
00681                 ScalarColumn<Bool>   tantTsysFlag;
00682                 ScalarColumn<Bool>   pwvPathFlag;
00683 
00684                 //TotalPower Table
00685 
00686                 ArrayColumn<Double>  floatData;
00687 
00688                 //WVMCal Table
00689 
00690                 ScalarColumn<String> calibrationMode;
00691                 ScalarColumn<String> operationMode;
00692                 ScalarColumn<Double> wvrefModel;
00693 
00694                 //Weather Table
00695 
00696                 ScalarColumn<Double> pressure;
00697                 ScalarColumn<Double> relHumidity;
00698                 ScalarColumn<Double> temperature;
00699                 ScalarColumn<Double> windDirection;
00700                 ScalarColumn<Double> windSpeed;
00701                 ScalarColumn<Double> windMax;
00702                 ScalarColumn<Bool>   pressureFlag;
00703                 ScalarColumn<Bool>   relHumidityFlag;
00704                 ScalarColumn<Bool>   temperatureFlag;
00705                 ScalarColumn<Bool>   windDirectionFlag;
00706                 ScalarColumn<Bool>   windSpeedFlag;
00707                 ScalarColumn<Bool>   windMaxFlag;
00708                 ScalarColumn<Double> dewPoint;
00709                 ScalarColumn<Bool>   dewPointFlag;
00710 
00711                 //ASDM Table
00712 
00713                 ScalarColumn<String> Name;
00714                 ScalarColumn<Int>    NumberRows;
00715 
00716 
00717 
00718 
00719 
00720 
00721 
00722 
00723  
00724 
00725 };
00726 
00727 #endif
00728 
00729 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines